Firearm event monitoring

ABSTRACT

Systems and methods are provided for firearm event monitoring, including a motion sensor mounted on a firearm, a server device running application software that receives signals from the motion sensor, a machine learning module configured to create and run an identification algorithm, using data derived from the received signals, to determine a motion of the firearm indicative of an event and a controller coupled to the server device, the controller running application software configured to maintain a round count based at least in part on the indicated event.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a bypass continuation of International Patent Application No. PCT/US2019/055925, filed Oct. 11, 2019, and published on Apr. 16, 2020, as Publication No. WO/2020/077254, which claims the benefit of U.S. Provisional Patent Application Ser. No. 62/745,028, filed Oct. 12, 2018. This application is also a continuation of U.S. patent application Ser. No. 16/599,976 filed Oct. 11, 2019. This application is also a continuation of U.S. patent application Ser. No. 16/460,357 filed Jul. 2, 2019, and published on Apr. 16, 2020, as 2020/0011629, which is a bypass continuation of International Patent Application No. PCT/US2018/015614, filed Jan. 27, 2018, and published on Aug. 2, 2018, as Publication No. WO/2018/140835, which claims the benefit of U.S. Provisional Patent Application Ser. No. 62/451,620, filed Jan. 27, 2017. Each of the above-identified applications is hereby incorporated by reference as if fully set forth in its entirety.

BACKGROUND

Typically, firearm tracking systems have been very limited, often requiring complex manufacturing steps in order to enable a determination of whether a weapon has been used. These systems typically have issues with reliability, have poor performance (e.g., short battery life), lack the ability to add new features, and suffer other limitations.

Separately, systems for providing remote support to firearm users are also typically very limited. For example, a remote support user monitoring a deployment of firearm users within a deployment location, such as a combat zone, relies on the information reported to him or her in order to make appropriate decisions regarding providing support for those users. However, these conventional systems require a remote support user to manually analyze information about the firearm users and to manually determine how to support those firearm users, which may, in at least some cases, take more time than is available. For example, during an active fire fight between firearm users and hostile combatants, the amount of time it takes to determine to deploy reinforcements, deliver additional ammunition, or otherwise support the firearm users can dictate the success of the engagement. Accordingly, a need exists for improved systems that involve recording and tracking activities of individuals, including more advanced methods and systems for tracking discharges from firearms and more advanced methods for monitoring conditions of firearms, other assets, and users within a deployment location and automating actions to perform for remotely supporting those firearm users, such as in preparation for, during, and/or after an engagement with a hostile threat.

SUMMARY

A firearm monitoring and remote support system is configured to collect signals representing real-time conditions of firearms, devices, and users within a deployment location. Those signals can be used to detect threats within the deployment location, to determine responses to perform based on those threats, or otherwise to support users of the firearms. For example, sensors within firearms and/or other assets can be used to determine that one or more firearms are drawn on a specific target within the deployment location. In another example, sensors within a firearm can be used to determine that the ammunition supply for the firearm is depleted or nearly depleted. Appropriate responses to such situations, such as by ordering for reinforcements, additional ammunition deliveries, or the like, can be automated based on the sensor information. The firearm monitoring and remote support system is further configured to output one or more graphical user interfaces (GUIs). The GUIs may be used for visualizing information associated with users of firearms and/or threats detected nearby those users. The GUIs may further be used to generate, review, and/or approve actions to take in response to a threat detection, for example, to provide support to the users of the firearms for engaging the detected threats.

In embodiments, a system for firearm monitoring and remote support is provided. The system comprises a connection point and a server device. The connection point receives signals from a plurality of firearms within a deployment location, the signals including sensor information recorded using sensors of the firearms. The server device runs application software that receives the signals from the connection point and processes the signals to generate a GUI representing positions and orientations of the firearms within the deployment location, the GUI further representing cones of fire for each of the firearms, wherein the application software automatically updates the GUI based on signals indicating changes in the positions and orientations of one or more of the firearms, wherein the updated GUI represents the cones of fire for at least two of the firearms as coalescing, wherein the coalesced cones of fire are used to detect a threat within the deployment location.

In embodiments of the system, the sensors include one or more of geolocation sensors, image sensors, or inertial motion sensors.

In embodiments of the system, the cones of fire are represented in the GUI based on measurements recorded using the inertial motion sensors of respective firearms, and the measurements indicate a change in orientation of the respective firearms.

In embodiments of the system, the change in orientation of a firearm refers to an orientation of the firearm changing from one of a gripping orientation or a drawing orientation to one of a pointing orientation or a firing orientation.

In embodiments of the system, the GUI includes one or more views including a top-down geographic view of the deployment location, and the positions and orientations of the firearms are represented within the top-down geographic view.

In embodiments of the system, the one or more views further include one or more of a three-dimensional firearm orientation view, a two-dimensional recoil tracking view, or a user body camera feed view.

In embodiments of the system, the updated GUI further represents the detected threat within the deployment location.

In embodiments of the system, the updated GUI includes visual prompts representing information relating to one or more users of the firearms, the detected threat, or both.

In embodiments of the system, the updated GUI includes a legend of icons represented within the updated GUI, the icons corresponding to one or more users of the firearms, the detected threat, or both.

In embodiments of the system, the connection point receives some of the signals from wearable devices worn by users of the firearms, and the application software uses sensor information included in the signals received from the wearable devices to update the GUI.

In embodiments of the system, the connection point receives some of the signals from robotic devices, and the application software uses sensor information included in the signals received from the robotic devices to update the GUI.

In embodiments of the system, the connection point is one of a plurality of connection points which receives signals used by the application software to generate or update the GUI.

In embodiments of the system, a size of a cone of fire of a firearm represented within the GUI is based on one or both of a skill level of a user of the firearm or a type of the firearm.

In embodiments, a method for firearm monitoring and remote support is provided. The method comprises generating a GUI including a top-down geographic view of a deployment location and cones of fire of firearms within the deployment location, the cones of fire representing positions and the orientations of the firearms determined based on first sensor information received from one or more sensors of each of the firearms; receiving second sensor information from at least one of the firearms, the second sensor information indicating a change in one or both of the position or the orientation of the at least one of the firearms; responsive to receiving the second sensor information, automatically updating the GUI according to the second sensor information, the updated GUI representing a change to at least one of the cones of fire causing the at least one of the cones of fire and at least one other cone of fire to coalesce; and responsive to automatically updating the GUI, outputting instructions for displaying or rendering the GUI to one or more computing devices.

In embodiments of the method, the method further comprises detecting a threat within the deployment location based on the coalesced cones of fire; and further automatically updating the GUI to represent the detected threat within the deployment location.

In embodiments of the method, the cones of fire are represented in the GUI based on measurements recorded using sensors of respective firearms, and the measurement recorded using the sensor of a firearm refers to an orientation of the firearm changing from one of a gripping orientation or a drawing orientation to one of a pointing orientation or a firing orientation

In embodiments of the method, the sensors include one or more of geolocation sensors, image sensors, or inertial motion sensors.

In embodiments of the method, the first sensor information and the second sensor information are received using a connection point, and the method further comprises deploying the connection point within the deployment location; and configuring the connection point to receive signals from the firearms.

In embodiments of the method, the GUI further includes one or more of a three-dimensional firearm orientation view, a two-dimensional recoil tracking view, or a user body camera feed view.

In embodiments of the method, automatically updating the GUI according to the second sensor information comprises updating the one or more of a three-dimensional firearm orientation view, a two-dimensional recoil tracking view, or a user body camera feed view based on the second sensor information.

The firearm monitoring and remote support system allows various parties, such as managers and supervisors, to collect real-time information relating to assets within a deployment location, for example, to support users of firearms during engagements with hostile threats, to prepare those users for such engagements, or to aide those users after such engagements. This includes the capability of the technology to report information in real-time, allowing the rapid use of the collected information, such as for situational awareness and rapid response to critical situations. By collecting real-time firearms data, managers, dispatchers, and the like can respond more efficiently to hostile threats and also more effectively monitor conditions of users of the firearms, including, but not limited to, the ammunition supply for the firearm and the health of the user.

In embodiments, a firearms activity monitoring system is provided, comprising a series of ruggedized sensors, configured to be built into the grips of a firearm, dedicated to providing real-time firearms activity monitoring, including firearm location, orientation, and discharge monitoring. In embodiments, the system is an “install and forget” device, independent of the firing mechanism (that is, in such embodiments, the system does not prevent discharges), that collects objective data on firearms usage and orientation. In turn, the data collected has a host of applications among security forces, ranging from augmenting critical first response systems to minimizing response times and improving situational awareness, to machine learning in automating radio transmissions and predictive firearm maintenance. Inventory control and firearms accountability are also possibilities with this potentially life-saving technology. This device brings the Internet-of-Things (IoT) into the world of firearms. In embodiments, a firearms activity monitoring system may be combined with other functionality that may prevent discharges through methods such as trigger locks, barrel blocks, etc. and require user identification such as biometric fingerprint scanners, palm recognition, and RFID scanners

The firearms activity monitoring system allows various parties, such as managers and supervisors, to collect objective, rather than subjective, firearms data. This allows better oversight and accountability of all firearms usage. This includes the capability of the technology to report information in real-time, allowing the rapid use of the collected information, such as for situational awareness and rapid response to critical situations. By collecting real-time firearms data, managers, dispatchers, and the like can respond more efficiently to incidents and also provide accurate reporting of information after an incident involving a firearm.

As noted above, the expensive price tag associated with hardware, storage, and data transmission fees has resulted in identification of cost as a problem with other monitoring systems like body cameras that have been adopted due to public pressure. The firearm monitoring systems disclosed herein augment other systems like body cameras and can render such systems much more cost-effective.

As noted above, for insurance companies, firearms used by the client represent a liability. In embodiments, data from the firearm monitoring system may be used to help companies that provide insurance (such as to private security firms); for example, it may be possible to negotiate a lower insurance premium as a result of using a monitoring system that demonstrates effectiveness and completion of training, adherence to safe practices, and the like by the personnel of the insured. With a device that increases accountability and inventory management, the risks and costs associated with insuring security firms decreases, thereby creating cost savings for both insurance companies and security firms.

In embodiments, the present disclosure includes a system for monitoring a user of a firearm. The system includes an inertial measurement unit (IMU) configured to be disposed inside a grip of the firearm for measuring the motion of the firearm. The system also includes an event detection system for detecting a detected event that includes at least one of gripping of the firearm, raising of the firearm, aiming of the firearm, and discharging of the firearm based on the motion of the firearm as measured by the IMU. The system further includes a communication system for wirelessly communicating the detected event.

In embodiments, the detected event is communicated to a camera system.

In embodiments, the camera system includes a camera located in sufficient proximity to view the firearm.

In embodiments, the camera system includes a body camera system worn by the user of the firearm.

In embodiments, the body camera initiates recording upon receiving the communication of the detected event.

In embodiments, the body camera initiates recording upon the firearm being at least one of gripped, raised and aimed.

In embodiments, the event detection system and the communication system are configured to be disposed inside the grip of the firearm.

In embodiments, the IMU is configured to count each discharge of the firearm.

In embodiments, the system of the present disclosure includes a firearm usage tracking system configured to detect the firearm being pointed toward another firearm or a user in conjunction with supporting systems.

In embodiments, the system of the present disclosure includes a firearm usage tracking system configured to detect the firearm and at least another firearm and configured to visually display locations of the at least two firearms.

In embodiments, the system of the present disclosure includes a firearm usage tracking system configured to detect a set of firearms in an inventory, to count each discharge of each of the firearms in the set of firearms, and to communicate total discharges from each of the firearms.

In embodiments, the system of the present disclosure includes a firearm usage tracking system configured to detect a set of firearms in an inventory across a mesh network and to determine a location of a first firearm from the set of firearms based on a detected location of at least a second firearm in the set of firearms.

In embodiments, the present disclosure includes a firearm usage monitoring system configured to store data about movement of a firearm by a user. The system includes a grip on the firearm that is configured to be held by a hand of the user and permit the hand of the user to also reach a trigger of the firearm. The system also includes a nine-axis motion monitor including a microprocessor, a tri-axis gyroscope, a tri-axis accelerometer and a tri-axis compass configured to communicate data about movement, orientation, and direction of the firearm. The system further includes memory communicatively coupled to the microprocessor and to the nine-axis motion monitor and a GPS module connected to the microprocessor and the memory. In embodiments, data about the position of the firearm is transmitted from the nine-axis motion monitor and the GPS module and stored in the memory. In embodiments, the nine-axis motion monitor, the microprocessor, the memory, and the GPS module are configured to be disposed inside a grip of the firearm.

In embodiments, the grip on the firearm is configured to be held by the hand of the user and permit the hand of the user to also reach a safety of the firearm.

In embodiments, the system of the present disclosure includes a hard-wired data and power connection configured to receive data and power from a wired source.

In embodiments, the system of the present disclosure includes a serial communication system (e.g., a UART to USB controller) communicatively coupled to the hard-wired data and power connection and configured to send data to and receive data from the hard-wired data and power connection. In embodiments, the microprocessor is configured to send data to and receive data from the serial communication system.

In embodiments, the system of the present disclosure includes a low dropout regulator electrically coupled to a battery and the serial communication system. In embodiments, the low dropout regulator steps down voltage from the battery to more efficiently power the serial communication system.

In embodiments, the system of the present disclosure includes a camera system that includes a body camera that is activated when there is a change in position of the firearm transmitted from one of the nine-axis motion monitor and the GPS module.

In embodiments, the present disclosure includes a system for monitoring firearms in a set of the firearms. Each of the firearms is associated with a user in a set of users. The system includes a machine learning system and a sensory analysis module that connects to the machine learning system and is configured to receive multi-modal sensory inputs from firearm usage tracking systems associated with the firearms, sensors that detect the users, and sensors that detect an environment around the set of firearms and the set of users. The system includes a set of candidate intents generated by the machine learning system based on at least a portion of the multi-modal sensory inputs. The system also includes an action plan based on the set of candidate intents generated by the machine learning system. In embodiments, the action plan is in response to at least one of a change in condition of one of the users of the firearms, change of state of one of the firearms from the set of firearms, a change of environment around the firearms.

In embodiments, the machine learning system is configured to determine that one of the users from the set of users is in distress based on at least one sensor detecting human states of the user indicative of distress and at least one firearm sensor that detects motion and orientation of the firearm indicative of lack of discharge for a predetermined period. In embodiments, the action plan from the machine learning system is configured to request assistance for the user in distress.

In embodiments, the machine learning system is configured to activate camera systems in anticipation of an event based on at least one sensor detecting human states of the user and at least one firearm sensor that detects motion and orientation of the firearm indicative of imminent discharge of at least one firearm of the set of firearms.

In embodiments, the machine learning system is configured to generate inventory action plans detailing needs for ammunition in anticipation of its consumption by the firearms from the set of firearms based on IMUs in each of the firearms that detects motion and orientation of the firearm to count each shot based on discharges from the firearms of the set of firearms.

In embodiments, a monitoring system for a firearm comprises an IMU, a communication circuit, and a microcontroller. The IMU is configured to generate data indicative of at least one of a movement of the firearm, an orientation of the firearm, or a direction of the firearm. The communication circuit is configured to communicate the data generated using the inertial measurement unit to a device external to the firearm. The microcontroller is configured to deliver power from a power source to at least one of the inertial measurement unit or the communication circuit. In embodiments, at least the IMU is disposed within an action structure of the firearm. In embodiments, at least the IMU is disposed on a rail of a firearm or within an accessory coupled to a rail of the firearm. In embodiments, at least the IMU is disposed within a barrel structure of the firearm. In embodiments, at least the IMU is disposed within a stock structure of the firearm or within a component of a stock structure of the firearm.

A firearm usage monitoring system is configured to store data about location, movement, orientation, and direction of a firearm while in use and includes a hard-wired data and power connection, configured to receive data and power from a wired source. A serial communication system (e.g., a UART to USB controller) is communicatively coupled to the hard-wired data and power connection and configured to send data to and receive data from the hard-wired data and power connection. A microprocessor is configured to send data to and receive data from the serial communication system. A nine-axis motion monitor is communicatively coupled to the microprocessor module further comprising a tri-axis gyroscope, a tri-axis accelerometer and a tri-axis compass configured to communicate data about movement, orientation, and direction of the firearm. Memory is communicatively coupled to the microprocessor and to the nine-axis motion monitor. Data about the location and position of the firearm in 3D space is transmitted from the nine-axis motion monitor and GPS and then stored in the memory.

In embodiments, a firearms activity monitoring system is provided, comprising a series of ruggedized sensors, configured to be bunt into the grips of a firearm, dedicated to providing real-time firearms activity monitoring, including firearm location, orientation, and discharge monitoring. In embodiments, the system is an “install and forget” device, independent of the firing mechanism (that is, in such embodiments, the system does not prevent discharges), that collects objective data on firearms usage and orientation. In turn, the data collected has a host of applications among security forces, ranging from augmenting critical first response systems to minimizing response times and improving situational awareness, to machine learning in automating radio transmissions and predictive firearm maintenance. Inventory control and firearms accountability are also possibilities with this potentially life-saving technology. This device brings the Internet-of-Things (IoT) into the world of firearms. In embodiments, a firearms activity monitoring system may be combined with other functionality that may prevent discharges through methods such as trigger locks, barrel blocks, etc. and require user identification such as biometric fingerprint scanners, palm recognition, and RFD scanners

The firearms activity monitoring system allows various parties, such as managers and supervisors, to collect objective, rather than subjective, firearms data. This allows better oversight and accountability of all firearms usage. This includes the capability of the technology to report information in real-time, allowing the rapid use of the collected information, such as for situational awareness and rapid response to critical situations. By collecting real-time firearms data, managers, dispatchers, and the like can respond more efficiently to incidents and also provide accurate reporting of information after an incident involving a firearm.

As noted above, the expensive price tag associated with hardware, storage, and data transmission fees has resulted in identification of cost as a problem with other monitoring systems like body cameras that have been adopted due to public pressure. The firearm monitoring systems disclosed herein augment other systems like body cameras and can render such systems much more cost-effective.

As noted above, for insurance companies, firearms used by the client represent a liability. In embodiments, data from the firearm monitoring system may be used to help companies that provide insurance (such as to private security firms); for example, it may be possible to negotiate a lower insurance premium as a result of using a monitoring system that demonstrates effectiveness and completion of training, adherence to safe practices, and the like by the personnel of the insured. With a device that increases accountability and inventory management, the risks and costs associated with insuring security firms decreases, thereby creating cost savings for both insurance corn panics and security firms.

In embodiments, the present disclosure includes a system for monitoring a user of a firearm. The system includes an inertial measurement unit (IMU) configured to be disposed inside a grip of the firearm for measuring the motion of the firearm. The system also includes an event detection system for detecting a detected event that includes at least one of gripping of the firearm, raising of the firearm, aiming of the firearm, and discharging of the firearm based on the motion of the firearm as measured by the IMU. The system further includes a communication system for wirelessly communicating the detected event.

In embodiments, the detected event is communicated to a camera system.

In embodiments, the camera system includes a camera located in sufficient proximity to view the firearm.

In embodiments, the camera system includes a body camera system worn by the user of the firearm.

In embodiments, the body camera initiates recording upon receiving the communication of the detected event.

In embodiments, the body camera initiates recording upon the firearm being at least one of gripped, raised and aimed.

In embodiments, the event detection system and the communication system are configured to be disposed inside the grip of the firearm.

In embodiments, the IMU is configured to count each discharge of the firearm.

In embodiments, the system of the present disclosure includes a firearm usage tracking system configured to detect the firearm being pointed toward another firearm or a user in conjunction with supporting systems.

In embodiments, the system of the present disclosure includes a firearm usage tracking system configured to detect the firearm and at least another firearm and configured to visually display locations of the at least two firearms.

In embodiments, the system of the present disclosure includes a firearm usage tracking system configured to detect a set of firearms in an inventory, to count each discharge of each of the firearms in the set of firearms, and to communicate total discharges from each of the firearms.

In embodiments, the system of the present disclosure includes a firearm usage tracking system configured to detect a set of firearms in an inventory across a mesh network and to determine a location of a first firearm from the set of firearms based on a detected location of at least a second firearm in the set of firearms.

In embodiments, the present disclosure includes a firearm usage monitoring system configured to store data about movement of a firearm by a user. The system includes a grip on the firearm that is configured to be held by a hand of the user and permit the hand of the user to also reach a trigger of the firearm. The system also includes a nine-axis motion monitor including a microprocessor, a tri-axis gyroscope, a tri-axis accelerometer and a tri-axis compass configured to communicate data about movement, orientation, and direction of the firearm. The system further includes memory communicatively coupled to the microprocessor and to the nine-axis motion monitor and a GPS module connected to the microprocessor and the memory. In embodiments, data about the position of the firearm is transmitted from the nine-axis motion monitor and the GPS module and stored in the memory. In embodiments, the nine-axis motion monitor, the microprocessor, the memory, and the GPS module are configured to be disposed inside a grip of the firearm.

In embodiments, the grip on the firearm is configured to be held by the hand of the user and permit the hand of the user to also reach a safety of the firearm.

In embodiments, the system of the present disclosure includes a hard-wired data and power connection configured to receive data and power from a wired source.

In embodiments, the system of the present disclosure includes a serial communication system (e.g., a UART to USB controller) communicatively coupled to the hard-wired data and power connection and configured to send data to and receive data from the hard-wired data and power connection. In embodiments, the microprocessor is configured to send data to and receive data from the serial communication system.

In embodiments, the system of the present disclosure includes a low dropout regulator electrically coupled to a battery and the serial communication system. In embodiments, the low dropout regulator steps down voltage from the battery to more efficiently power the serial communication system.

In embodiments, the system of the present disclosure includes a camera system that includes a body camera that is activated when there is a change in position of the firearm transmitted from one of the nine-axis motion monitor and the GPS module.

In embodiments, the present disclosure includes a system for monitoring firearms in a set of the firearms. Each of the firearms is associated with a user in a set of users. The system includes a machine learning system and a sensory analysis module that connects to the machine learning system and is configured to receive multi-modal sensory inputs from firearm usage tracking systems associated with the firearms, sensors that detect the users, and sensors that detect an environment around the set of firearms and the set of users. The system includes a set of candidate intents generated by the machine learning system based at least a portion of the multi-modal sensory inputs. The system also includes an action plan based on the set of candidate intents generated by the machine learning system. In embodiments, the action plan is in response to at least one of a change in condition of one of the users of the firearms, change of state of one of the firearms from the set of firearms, a change of environment around the firearms.

In embodiments, the machine learning system is configured to determine that one of the users from the set of users is in distress based at least one sensor detecting human states of the user indicative of distress and at least one firearm sensor that detects motion and orientation of the firearm indicative of lack of discharge for a predetermined period. In embodiments, the action plan from the machine learning system is configured to request assistance for the user in distress.

In embodiments, the machine learning system is configured to activate camera systems in anticipation of an event based at least one sensor detecting human states of the user and at least one firearm sensor that detects motion and orientation of the firearm indicative of imminent discharge of at least one firearm of the set of firearms.

In embodiments, the machine learning system is configured to generate inventory action plans detailing needs for ammunition in anticipation of its consumption by the firearms from the set of firearms based on IMUS in each of the firearms that detects motion and orientation of the firearm to count each shot based on discharges from the firearms of the set of firearms.

In embodiments, a monitoring system for a firearm comprises an IMU, a communication circuit, and a microcontroller. The IMU is configured to generate data indicative of at least one of a movement of the firearm, an orientation of the firearm, or a direction of the firearm. The communication circuit is configured to communicate the data generated using the inertial measurement unit to a device external to the firearm. The microcontroller is configured to deliver power from a power source to at least one of the inertial measurement unit or the communication circuit. In embodiments, at least the IMU is disposed within an action structure of the firearm. In embodiments, at least the IMU is disposed on a rail of a firearm or within an accessory coupled to a rail of the firearm. In embodiments, at least the IMU is disposed within a barrel structure of the firearm. In embodiments, at least the IMU is disposed within a stock structure of the firearm or within a component of a stock structure of the firearm.

A firearm monitoring and remote support system is configured to collect signals representing real-time conditions of firearms, devices, and users within a deployment location. Those signals can be used to detect threats within the deployment location, to determine responses to perform based on those threats, or otherwise to support users of the firearms. For example, sensors within firearms and/or other assets can be used to determine that one or more firearms are drawn on a specific target within the deployment location. In another example, sensors within a firearm can be used to determine that the ammunition supply for the firearm is depleted or nearly depleted. Appropriate responses to such situations, such as by ordering for reinforcements, additional ammunition deliveries, or the like, can be automated based on the sensor information. The firearm monitoring and remote support system is further configured to output one or more graphical user interfaces (GUIs). The GUIs may be used for visualizing information associated with users of firearms and/or threats detected nearby those users. The GUIs may further be used to generate, review, and/or approve actions to take in response to a threat detection, for example, to provide support to the users of the firearms for engaging the detected threats.

In embodiments, a system for firearm monitoring and remote support is provided. The system comprises a plurality of firearms within a deployment location, response infrastructure, and a server device. Each firearm includes one or more sensors that record sensor information used to produce a signal. The response infrastructure is configured for deployment to the deployment location. The server device runs application software that uses the signals received from each of the firearms to detect a threat within the deployment location and causes the deployment of the response infrastructure to the deployment location. The response infrastructure supports users of the plurality of firearms in addressing the detected threat.

In embodiments of the system, the application software processes the signals received from each of the firearms to determine cones of fire of the firearms, in which a cone of fire of a firearm represents an expected area of potential fire for the firearm.

In embodiments of the system, the application software uses the cones of fire to detect the threat within the deployment location by determining that two or more of the cones of fire coalesce on a single location within the deployment location.

In embodiments of the system, the application software verifies the detected threat using a video stream from a camera within the deployment location, in which the video stream indicates the threat at the single location within the deployment location.

In embodiments of the system, sizes of the cones of fire differ based on skill levels of users of the firearms.

In embodiments of the system, the one or more sensors included in a firearm include a sensor configured to detect a discharge of the firearm. The application software uses the sensor information indicative of the discharge of the firearm to determine to detect the threat. The response infrastructure includes a vehicle configured to deliver reinforcements to the deployment location to support users of the firearms.

In embodiments of the system, the one or more sensors included in a firearm include a sensor configured to detect an ammunition inventory for the firearm. The application software uses measurements indicative of the ammunition inventory for the firearm to determine to deliver ammunition to the deployment location. The response infrastructure includes a vehicle configured to deliver the ammunition to the deployment location.

In embodiments of the system, the sensor configured to detect the ammunition inventory for the firearm is further configured to identify a type of the firearm. Information indicating the type of the firearm is used by the application software to identify the ammunition to deliver to the deployment location

In embodiments of the system, the system further comprises a wearable device worn by a user of at least one firearm of the plurality of firearms. The wearable device includes one or more sensors that record information indicative of a health status of the user. The application software uses the health status of the user to determine to request a delivery of medical support for the user to the deployment location.

In embodiments of the system, the responsive infrastructure includes an unmanned aerial vehicle configured to deliver medical items to the deployment location responsive to the requested delivery of medical support for the user.

In embodiments of the system, the application software processes the sensor information against information stored within a knowledgebase to detect the threat.

In embodiments of the system, the one or more sensors include one or more of an inertial motion unit, a geolocation sensor, a pressure sensor, or a discharge sensor.

In embodiments of the system, the system further comprises a connection point within the deployment location that receives the signals from the plurality of firearms and transmits the signals to the server device.

In embodiments, a method for firearm monitoring and remote support is provided. The method comprises producing, at a device within a deployment location, a signal including sensor information recorded using one or more sensors of the device; transmitting, from the device, the signal to a server device running application software; processing, by the application software, the signal to detect a threat within the deployment location; determining, by the application software, an action to perform in response to the detected threat; and deploying, by the application software, response infrastructure to perform the action.

In embodiments of the method, the method further comprises determining, by the application software, a severity of the threat based on the sensor information and based on information stored within a knowledgebase, in which determining the action to perform in response to the detected threat comprises determining the action to perform based on the severity of the threat.

In embodiments of the method, the information stored within the knowledgebase is used to compare the sensor information against a threshold or other condition associated with the detected threat, wherein the severity of the threat is based on a result of the comparison.

In embodiments of the method, the application software automatically determines the action to perform in response to the detected threat without manual user intervention, in which the application software includes functionality for manual user verification of the automatically determined action.

In embodiments of the method, the method further comprises producing a second signal including second sensor information recorded after the sensor information used to detect the threat; transmitting the second signal to the server device; processing, by the application software, the second signal to determine a second action to perform for remote support of a user of a device at which the second signal is produced; and deploying, by the application software, second response infrastructure to perform the second action.

In embodiments of the method, the device is a firearm. The one or more sensors include a sensor configured to detect an ammunition inventory for the firearm. The action to perform includes a delivery of ammunition to the deployment location. The second response infrastructure includes a vehicle configured to deliver the ammunition to the deployment location.

In embodiments of the method, the device is a wearable device. The one or more sensors include a sensor configured to detect information indicative of a health status of the user of the device. The action to perform includes requesting a delivery of medical support to the deployment location. The second response infrastructure includes a vehicle configured to deliver the medical support to the deployment location.

The firearm monitoring and remote support system allows various parties, such as managers and supervisors, to collect real-time information relating to assets within a deployment location, for example, to support users of firearms during engagements with hostile threats, to prepare those users for such engagements, or to aide those users after such engagements. This includes the capability of the technology to report information in real-time, allowing the rapid use of the collected information, such as for situational awareness and rapid response to critical situations. By collecting real-time firearms data, managers, dispatchers, and the like can respond more efficiently to hostile threats and also more effectively monitor conditions of users of the firearms, including, but not limited to, the ammunition supply for the firearm and the health of the user.

A firearm monitoring and remote support system is configured to collect signals representing real-time conditions of firearms, devices, and users within a deployment location. Those signals can be used to detect threats within the deployment location, to determine responses to perform based on those threats, or otherwise to support users of the firearms. For example, sensors within firearms and/or other assets can be used to determine that one or more firearms are drawn on a specific target within the deployment location. In another example, sensors within a firearm can be used to determine that the ammunition supply for the firearm is depleted or nearly depleted. Appropriate responses to such situations, such as by ordering for reinforcements, additional ammunition deliveries, or the like, can be automated based on the sensor information. The firearm monitoring and remote support system is further configured to output one or more graphical user interfaces (GUIs). The GUIs may be used for visualizing information associated with users of firearms and/or threats detected nearby those users. The GUIs may further be used to generate, review, and/or approve actions to take in response to a threat detection, for example, to provide support to the users of the firearms for engaging the detected threats.

In embodiments, a system for firearm monitoring and remote support is provided. The system comprises a connection point and a server device. The connection point is located within a deployment location and receives and compresses a signal from a firearm within the deployment location. The signal includes sensor information recorded using one or more sensors of the firearm. The server device runs application software that receives the compressed signal from the connection point, decompresses the signal to restore the sensor information, and uses the restored sensor information to detect a threat within the deployment location.

In embodiments of the system, the server device receives compressed signals from a plurality of connection points including the connection point, in which at least some connection points of the plurality of connections are located within the deployment location.

In embodiments of the system, the application software detects the threat within the deployment location based on the restored sensor information produced by decompressing the compressed signal received from the connection point and based on other restored sensor information produced by decompressing another compressed signal received from another connection point of the plurality of connection points.

In embodiments of the system, the other compressed signal received from the other connection point is produced using one or more sensors of a wearable device.

In embodiments of the system, the other compressed signal received from the other connection point is produced using one or more sensors of a stationary device.

In embodiments of the system, the application software uses the restored sensor information to detect the threat within the deployment location based on a change in an orientation of the firearm indicated within the restored sensor information. The change in the orientation of the firearm represents a change in orientation from one of a gripping orientation or a drawing orientation to one of a pointing orientation or a firing orientation.

In embodiments of the system, the firearm is a first firearm. The application software further processes a signal produced at a second firearm. The signal produced at the second firearm indicates a change in an orientation of the second firearm. The application software updates cones of fire of the first firearm and of the second firearm based on the changes in orientation of the first firearm and of the second firearm, wherein the application updated cones of fire.

In embodiments of the system, the transmission of the signal from the firearm to the connection point is automated and responsive to the production of the signal at the firearm.

In embodiments, a method for firearm monitoring and remote support is provided. The method comprises receiving, at a connection point within a deployment location, a signal from a device located proximate to the connection point within the deployment location, the signal including sensor information recorded using one or more sensors of the device; compressing, at the connection point, the signal to produce a compressed signal; transmitting, from the connection point, the compressed signal to a server device running application software for remote support of a user of the firearm; responsive to the server device receiving the compressed signal from the connection point, decompressing, using the application software, the compressed signal to restore the sensor information; and detecting, using the application software, a threat within the deployment location based on the restored sensor information.

In embodiments of the method, the signal is a first signal and the device is a first firearm, and the method further comprises receiving, at the connection point, a second signal from a second device located proximate to the connection point within the deployment location.

In embodiments of the method, compressing the signal to produce the compressed signal comprises compressing the first signal; compressing the second signal; and producing the compressed signal based on the compressed first signal and based on the compressed second signal.

In embodiments of the method, a lossy compression technique is used to compress one or both of the first signal or the second signal.

In embodiments of the method, the first device is a first firearm and the second device is a second firearm. The sensor information recorded using the sensors of each of the first firearm and the second firearm indicates a change in orientation from one of a gripping orientation or a drawing orientation to one of a pointing orientation or a firing orientation.

In embodiments of the method, detecting the threat within the deployment location based on the restored sensor information comprises detecting the threat within the deployment location based on the change in orientation of the first firearm and based on the change in orientation of the second firearm.

In embodiments of the method, detecting the threat within the deployment location based on the change in orientation of the first firearm and based on the change in orientation of the second firearm comprises updating cones of fire of the first firearm and of the second firearm based on the changes in orientation of the first firearm and of the second firearm; determining that the updated cones of fire coalesce; and detecting the threat within the deployment location based on the coalesced cones of fire.

In embodiments of the method, the restored sensor information is first restored sensor information, the compressed signal is a first compressed signal, and the connection point is a first connection point. Detecting the threat within the deployment location based on the restored sensor information comprises detecting the threat within the deployment location based on the first restored sensor information and based on second restored sensor information, in which the second restored sensor information is produced by decompressing a second compressed signal received from a second connection point within the deployment location.

In embodiments of the method, the second connection point produces the second compressed signal based on a signal including sensor information recorded using one or more sensors of a wearable device.

In embodiments of the method, the second connection point produces the second compressed signal based on a signal including sensor information recorded using one or more sensors of a mobile robot.

In embodiments of the method, the first connection point and the second connection point form a mesh network.

In embodiments of the method, decompressing the compressed signal to restore the sensor information to the uncompressed form comprises: denoising, using the application software, the compressed signal; and decompressing, using the application software, the denoised compressed signal to restore the sensor information.

The firearm monitoring and remote support system allows various parties, such as managers and supervisors, to collect real-time information relating to assets within a deployment location, for example, to support users of firearms during engagements with hostile threats, to prepare those users for such engagements, or to aide those users after such engagements. This includes the capability of the technology to report information in real-time, allowing the rapid use of the collected information, such as for situational awareness and rapid response to critical situations. By collecting real-time firearms data, managers, dispatchers, and the like can respond more efficiently to hostile threats and also more effectively monitor conditions of users of the firearms, including, but not limited to, the ammunition supply for the firearm and the health of the user.

A firearm monitoring and remote support system is configured to collect signals representing real-time conditions of firearms, devices, and users within a deployment location. Those signals can be used to detect threats within the deployment location, to determine responses to perform based on those threats, or otherwise to support users of the firearms. For example, sensors within firearms and/or other assets can be used to determine that one or more firearms are drawn on a specific target within the deployment location. In another example, sensors within a firearm can be used to determine that the ammunition supply for the firearm is depleted or nearly depleted. Appropriate responses to such situations, such as by ordering for reinforcements, additional ammunition deliveries, or the like, can be automated based on the sensor information. The firearm monitoring and remote support system is further configured to output one or more graphical user interfaces (GUIs). The GUIs may be used for visualizing information associated with users of firearms and/or threats detected nearby those users. The GUIs may further be used to generate, review, and/or approve actions to take in response to a threat detection, for example, to provide support to the users of the firearms for engaging the detected threats.

In embodiments, a system for firearm monitoring and remote support is provided. The system comprises a plurality of connection points within a deployment location and a server device. Each connection point of the plurality of connection points is configured to receive signals produced at one or more firearms proximate to the connection point within the deployment location. Each connection point of the plurality of connection points is further configured to communicate the received signals to a server device located outside of the deployment location. The server device runs application software that receives the signals from each of the connection points and uses the sensor information included in the signals to detect a threat within the deployment location.

In embodiments of the system, the system further comprises one or more mobile computing devices intermediate to the connection points and to the one or more firearms, in which ones of the mobile computing devices receive the signals from ones of the firearms and ones of the connection points receive the signals from the ones of the mobile computing devices.

In embodiments of the system, peer-to-peer communications between the one or more mobile computing devices are enabled using the plurality of connection points.

In embodiments of the system, the application software transmits an indication of the detected threat to the mobile computing devices.

In embodiments of the system, at least some of the connection points batch the signals and communicate the batches to the server device, in which the application software processes the batches to detect the threat within the deployment location.

In embodiments of the system, the at least some of the connection points batch the signals based on times at which the signals are received from one of the one or more firearms.

In embodiments of the system, the at least some of the connection points batch the signals based on types of the firearms from which the signals are received.

In embodiments of the system, the plurality of connection points forms a mesh network for extending communication coverage within the deployment location.

In embodiments of the system, one or more non-firearm assets connects to the mesh network and produces at least some signal of the signals which are communicated to the server device using one of the connection points of the plurality of connection points.

In embodiments of the system, each connection point of the plurality of connection points is configured to receive the at least some of the signals based on proximities of one of the one or more non-firearm assets to the connection point.

In embodiments, a method for firearm monitoring and remote support is provided. The method comprises receiving, at a first connection point within a deployment location, a first signal produced at a first device located proximate to the first connection point within the deployment location, the first signal including sensor information recorded using one or more sensors of the first device; receiving, at a second connection point within the deployment location, a second signal produced at a second device located proximate to the second connection point within the deployment location, the second signal including sensor information recorded using one or more sensors of the second device; receiving, at a server device running application software for remote support of users of the first device and the second device, the first signal and the second signal; and processing, using the application software, the first signal and the second signal to detect a threat within the deployment location.

In embodiments of the method, the first connection point is configured to receive signals from a plurality of devices including the first device, and the method further comprises prioritizing connections between ones of the plurality of devices and the first connection point to conserve network bandwidth.

In embodiments of the method, the connections are prioritized based on one or more of a time since a last established connection between a device of the plurality of devices and the first connection point, a type of the device, a type of signal or information communicated from the device, a distance between the device and the first connection point, information associated with a user of the device, or an amount of bandwidth required for the connection with the device.

In embodiments of the method, the first connection point batches the signals received from the plurality of devices and communicates the batches to the server device.

In embodiments of the method, the user of the first device has a first mobile computing device that receives the first signal from the first device and the user of the second device has a second mobile computing device that receives the second signal from the second device. The first connection point receives the first signal from the first mobile computing device and the second connection point receives the second signal from the second mobile computing device.

In embodiments of the method, the method further comprises, responsive to detecting the threat within the deployment location, transmitting, from the server device, an indication of the detected threat to one or both of the first mobile computing device or the second mobile computing device.

In embodiments of the method, the first connection point includes a geolocation sensor. Measurements recorded using the geolocation sensor are transmitted to the server device and used by the application software to determine a location of the threat with respect to a location of the first connection point.

In embodiments of the method, at least one of the first device or the second device is a firearm. The firearm includes an inertial motion unit which measures changes in an orientation of the firearm. A signal produced based on the measurements of the inertial motion unit is produced responsive to a determination that an orientation of the firearm has changed from one of a gripping orientation or a drawing orientation to one of a pointing orientation or a firing orientation.

In embodiments of the method, the method further comprises, responsive to detecting the threat within the deployment location, transmitting, from the server device, a command to response infrastructure to cause a deployment of the response infrastructure to the deployment location.

In embodiments of the method, the first connection point and the second connection point are included in a mesh network at the deployment location, in which the mesh network represents a network of connections between the first device, the second device, and one or more other devices located at the deployment location.

The firearm monitoring and remote support system allows various parties, such as managers and supervisors, to collect real-time information relating to assets within a deployment location, for example, to support users of firearms during engagements with hostile threats, to prepare those users for such engagements, or to aide those users after such engagements. This includes the capability of the technology to report information in real-time, allowing the rapid use of the collected information, such as for situational awareness and rapid response to critical situations. By collecting real-time firearms data, managers, dispatchers, and the like can respond more efficiently to hostile threats and also more effectively monitor conditions of users of the firearms, including, but not limited to, the ammunition supply for the firearm and the health of the user.

BRIEF DESCRIPTION OF THE FIGURES

The detailed description of some embodiments of the present disclosure is made below with reference to the accompanying figures, wherein like numerals represent corresponding parts of the figures.

FIG. 1 is a diagrammatic view of a firearm monitoring and remote support system in accordance with embodiments of the present disclosure.

FIG. 2 is a side perspective view of a firearm in use in accordance with the embodiments of the present disclosure.

FIG. 3 is a diagrammatic view of an internal configuration of a computing device in accordance with embodiments of the present disclosure.

FIG. 4 is a diagrammatic view of various system sub-components of software used for firearm monitoring and remote support in accordance with embodiments of the present disclosure.

FIG. 5 is a diagrammatic view of various inputs, processing options, and outputs for threat detection and analysis in accordance with embodiments of the present disclosure.

FIGS. 6-11 are illustrations of GUIs of software of a firearm monitoring and remote support system in accordance with embodiments of the present disclosure.

FIG. 12 is an illustration of a mesh network system in accordance with embodiments of the present disclosure.

FIG. 13 is a diagrammatic view of various sub-components of a connection point in accordance with embodiments of the present disclosure.

FIG. 14 is a flowchart showing a technique for threat detection and response in accordance with embodiments of the present disclosure.

FIG. 15 is a flowchart showing a technique for GUI visualization of sensor and threat information in accordance with embodiments of the present disclosure.

FIG. 16 is a flowchart showing a technique for compression and collection of information in accordance with embodiments of the present disclosure.

FIG. 17 is an illustration of gestures, positions and locations of a firearm indicative of or in preparation for live fire in accordance with embodiments of the present disclosure.

FIGS. 18-19 are illustrations of multiple users and assets engaged in live fire in accordance with embodiments of the present disclosure.

FIG. 20 is a bottom front perspective view of a firearm including a firearm usage monitoring system in accordance with the embodiments of the present disclosure.

FIG. 21 is a top rear perspective view of the firearm of FIG. 20.

FIG. 22 is an exploded view of the firearm of FIG. 20.

FIG. 23 is a perspective view of first and second grip panels of the firearm and the firearm usage monitor in accordance with embodiments of the present disclosure.

FIG. 24 is an electrical schematic view of the firearm usage monitoring system in accordance with embodiments of the present disclosure.

FIG. 25 and FIG. 26 are schematic views of the firearm usage monitoring system in accordance with embodiments of the present disclosure.

FIGS. 27, 28, 29 and 30 are diagrammatic views of various system sub-components for the firearm usage monitoring system in accordance with embodiments of the present disclosure.

FIG. 31 is a partial perspective view of a firearm including the firearm usage monitoring system in accordance with embodiments of the present disclosure.

FIG. 32 is a process view of a machine control system of the firearm usage monitoring system in accordance with embodiments of the present disclosure.

FIGS. 33 and 34 are diagrammatic views of various system sub-components for the firearm usage monitoring system in accordance with embodiments of the present disclosure.

FIGS. 35, 36, 37, 38, 39, 40, and 41 are flowchart showing techniques for communicating with and monitoring firearms and user of those firearms in accordance with embodiments of the present disclosure.

DETAILED DESCRIPTION

By way of example, and referring to FIG. 1, an embodiment of firearm monitoring and remote support system 100 includes firearm monitoring and remote support application 102 which processes signals received from one or more of firearms 104, wearable devices 106, or stationary devices 108 to detect and assess threats against users of firearms 104. For example, the signals received from firearms 104, wearable devices 106, and/or stationary devices 108 can be processed to determine whether and how to respond to a threat against the users of firearms 104, including by automating a deployment of response infrastructure 110 to a location of or proximate to the users of firearms 104. Application 102 is run, executed, interpreted, or otherwise operated at server device 112, which communicates, directly or indirectly, with firearms 104, wearable devices 106, and/or stationary devices 108 using network 114 and connection point 116.

The application 102 is software for monitoring users within a deployment location. The users are humans or non-human entities (e.g., mobile or stationary robots). The users operate firearms 104 and wear wearable devices 106. In embodiments, the users may operate stationary devices 108. Alternatively, stationary devices 108 may be operated without action by the users. A user may be mobile or stationary, for example, based on whether they are human or non-human and/or based on a directive of the user. For example, a user who operates a sniper rifle or other heavy powered weaponry or machinery may in some cases be considered a stationary user. The deployment location is a geographic region including one or more terrain types and may be wholly developed (e.g., a city or other urban environment area), partially developed (e.g., a relatively small or rural living area), or wholly undeveloped (e.g., a mountainous, forested, desert, or other natural area). In particular, the deployment location represents a location to which one or more users are deployed. For example, the one or more users may be deployed to identify, address, or otherwise neutralize a hostile threat. In another example, the one or more users may be deployed to rescue hostages or otherwise assist civilians or friendly forces.

The signals received from firearms 104, wearable devices 106, and/or stationary devices 108 represent sensor information measured for firearms 104, wearable devices 106, and/or stationary devices 108. Firearms 104 include sensors 118, wearable devices 106 include sensors 120, and stationary devices 108 include sensors 122. Sensors 118, sensors 120, and sensors 122 include hardware sensors used to measure aspects of firearms 104, wearable devices 106, and stationary devices 108, respectively. For example, sensors 118, sensors 120, and sensors 122 may each include one or more of an accelerometer, a gyroscope, a magnetometer, a geolocation sensor, a moisture sensor, a pressure sensor, or the like. Sensors 118, sensors 120, and sensors 122 may each be embodied in inertial measurement units included within or otherwise coupled to firearms 104, wearable devices 106, and stationary devices 108, respectively. In embodiments, sensors 118, sensors 120, and sensors 122 may each include the same sensors. In embodiments, sensors 118, sensors 120, and sensors 122 may include partially or wholly different sensors.

The signals received from firearms 104, wearable devices 106, and/or stationary devices 108 are processed to monitor the status of firearms 104, wearable devices 106, and/or stationary devices 108. Application 102 can monitor the status of firearms 104, wearable devices 106, and/or stationary devices 108 by using the signals to update position and/or orientation information for firearms 104, wearable devices 106, and/or stationary devices 108, and/or for users thereof. The updated position and/or orientation information can provide details regarding current use of firearms 104, wearable devices 106, and/or stationary devices 108, for example, to indicate use states of firearms 104, wearable devices 106, and/or stationary devices 108 and/or to indicate how firearms 104, wearable devices 106, and/or stationary devices 108 are being used within the deployment region.

Monitoring the status of firearms 104 may include generating and/or updating information for visualizing or otherwise representing a cone of fire for firearms 104. A cone of fire, or cone, is or refers to an expected area of potential fire for a firearm 104. The endpoint of the sector of a cone represents a current location of a firearm 104. The remaining portion of the cone represents a potential area which, provided the firearm 104 remains stationary at the location represented by the endpoint of the sector), projectiles from the firearm 104 may be fired. The cones for firearms 104 may be visually represented by application 102, for example, within one or more GUIs generated and output by application 102. In embodiments, the size and layout of a cone can be defined based on one or both of the type of a firearm 104 corresponding to the cone or the skill of the user of the firearm 104. In embodiments, the size and layout of the cone can be determined using the errors in measurements from the IMU and GPS to represent the potential locations in which the projectile from the firearm may impact. By way of these examples, the shape of the cone of fire can be arbitrarily capped by the effective range of fire for the firearm and the round being used. In embodiments, the cone of fire can then be capped or otherwise set to a predetermined size and shape by the pre-determined skill rating associated with the skill of the user. In embodiments, larger caliber firearms may have an increased effective range of fire. As such, the bullet itself can have the potential to go well beyond the drawn cone of fire. For example, a larger firearm may have a longer cone than a smaller firearm. In another example, a skilled user who is capable of accurate marksmanship may have a smaller (e.g., narrower) cone than one who is less accurate, such as because the skilled user is statistically expected to more accurately hit a target. In yet another example, where learning models (e.g., of a machine learning system) determine that the user tends to fire too much to the left or right, the cone for that user can be accordingly projected. The application 102 monitors the status of firearms 104 including by performing real-time updates to cones corresponding to firearms 104. For example, where a GUI of application 102 visually represents users within a deployment location and shows cones, application 102 can automatically update locations and orientations of the cones, for example, based on signals received from firearms 104.

The signals received from firearms 104, wearable devices 106, and/or stationary devices 108 are further processed to detect threats within the deployment region, including by analyzing whether and/or how to respond to those detected threats. Application 102 can detect threats within the deployment region by using the signals received from firearms 104, wearable devices 106, and/or stationary devices 108 to determine whether users thereof are exposed to a threat or may become exposed to a threat. For example, the signals may be used to determine that firearms 104 have been drawn or otherwise moved into a readied position, for example, to prepare to engage a threat. In another example, the signals may be used to determine that firearms 104 are actively engaging a threat, for example, based on a detected firing of firearms 104 and/or based on a coalescence of cones of multiple firearms 104. In yet another example, the signals may be used to determine that ammunition supplies for some or all firearms 104 are running low or depleted. In yet another example, the signals may be used to automate a response to the threat, for example, by deploying reinforcements to assist in engaging the threat, by deploying additional ammunition resources to the deployment location, or otherwise.

The threat may be a human or non-human (e.g., robotic, vehicular, non-human animal, etc.) hostile which presents or may present a risk of harm to users of firearms 104, wearable devices 106, and/or stationary devices 108. For example, the threat may be one or more enemy combatants who possess weapons or other means to present a risk of harm to the users of firearms 104, wearable devices 106, and/or stationary devices 108, to civilians, or to other persons or assets friendly to the users of firearms 104, wearable devices 106, and/or stationary devices 108. In another example, the threat may be one or more robots or animals trained to attack the users of firearms 104, wearable devices 106, and/or stationary devices 108. The threat may alternatively be or refer to a condition or situation which presents a risk of harm to the users of firearms 104, wearable devices 106, and/or stationary devices 108, to civilians, or to other persons or assets friendly to the users of firearms 104, wearable devices 106, and/or stationary devices 108. For example, the threat may be or relate to a terrain element which presents a risk of bodily harm or obstructs a traveling path of the users of firearms 104, wearable devices 106, and/or stationary devices 108. In some cases, the threat may refer to terrain elements which are naturally occurring. In other cases, the threat may refer to terrain elements which present a risk of harm or obstruction because of actions taken by a hostile.

In response to a detected threat, application 102 may in some cases cause a deployment of response infrastructure 110 to the deployment location. Response infrastructure 110 includes or otherwise refers to assets or personnel used to assist in addressing the detected threat. For example, response infrastructure 110 may be or include unmanned aerial vehicles (UAVs) or other aircraft. The UAVs or other aircraft may be configured to drop ammunition re-supplies within the deployment location, for example, in response to application 102 determining that current ammunition supplies of one or more users of firearms 104 are running low or depleted before, during, or after an engagement with a detected threat. In another example, response infrastructure 110 may be or include transport vehicles used to transport reinforcements within the deployment location, for example, in response to application 102 determining that additional manpower is required or would be beneficial for engaging the detected threat. Response infrastructure 110 may be deployed to a location of connection point 116, for example, which may be known or determined using a geolocation sensor included within or otherwise coupled to connection point 116. Alternatively, a different location to which response infrastructure 110 is deployed may be determined by application 102.

In embodiments, response infrastructure 110 may refer to components, assets, or other matter rather than to specific infrastructure used to transport or otherwise deploy those components, assets, or other matter within the deployment location. For example, response infrastructure 110 may refer to firearms, ammunition, medical equipment, or other assets which can be deployed using a UAV, another aircraft, or another delivery mechanism. In embodiments, response infrastructure 110 may refer to locations, components, assets, or other matter which may not travel to the deployment location. For example, response infrastructure 110 may include or otherwise refer to one or more locations at which asset inventories (e.g., firearm, ammunition, medical, or other inventory stocks) are stored and/or to hardware or other machinery or assets at those locations.

Application 102 may process the signals received from firearms 104, wearable devices 106, and/or stationary devices 108 against information stored within database 124 to monitor firearms 104, wearable devices 106, and/or stationary devices 108 and/or to detect and analyze a threat. Database 124 stores information relating to firearms 104, wearable devices 106, and/or stationary devices 108. For example, the information relating to a firearm 104 stored within database 124 may include information about the firearm type, maximum amount of ammunition within a magazine, firing rate, maximum firing range, maintenance status, sensors included or coupled, or the like. Database 124 may also store information indirectly relating to a firearm 104, for example, information relating to ammunition types, inventory information (e.g., in a stockpile or warehouse from which reserves can be deployed for use in response to a detected threat), connected or connectable devices (e.g., wearable devices 106), or the like. Database 124 may also store information relating to users of firearms 104, for example, user information including names, ranks, years of service, skill levels, notable achievements, numbers of deployments, numbers of engagements, weapons currently possessed in the deployment location, ammunition stocks present in the deployment location, numbers of shots fired since arrival at the in the deployment location, health information, threat engagement information, or the like. In embodiments, information stored within database 124 relating to firearms may be retrieved from manufacturers, distributors, or other vendors of those firearms. For example, where access is available, application programming interface (API) calls can be made to retrieve the information from external systems which the manufacturers, distributors, or other vendors use to store such information. The information stored within database 124 may be included in a knowledgebase accessed by application 102. For example, the knowledgebase can represent a collection of knowledge associated with assets used by or with system 100, for example, for detecting and analyzing threats.

Connection point 116 is used to facilitate communications between firearms 104, wearable devices 106, and/or stationary devices 108 and network 114. Network 114 may be a network of computers (e.g., a local area network (LAN), a wide area network (WAN), a virtual private network (VPN), a peer-to-peer (P2P) network, or an intranet), or a network of networks (e.g., the Internet), or another network (e.g., a cellular network). Connection point 116 is a device configured to communicate over network 114. Connection point 116 may communicate with firearms 104, wearable devices 106, and/or stationary devices 108 over Ethernet, transmission control protocol (TCP), Internet protocol (IP), power line communication, Wi-Fi, Bluetooth®, infrared, radio frequency (RF), general packet radio services (GPRS), global system for mobile communications (GSM), frequency-division multiple access (FDMA), code-division multiple access (CDMA), evolution-data optimized (EVDO), Z-Wave, ZigBee, 3G, 4G, 5G, another protocol, or a combination thereof. In embodiments, connection point 116 may be a router, beacon, wireless connection point (e.g., a Wi-Fi connection point), lighting system, camera, or other network-connected devices.

In embodiments, connection point 116 may be one of a number of connection points deployed within the deployment location. For example, each connection point may be configured to facilitate communications for certain ones of firearms 104, wearable devices 106, and/or stationary devices 108. In another example, bandwidth limitations or other constraints may reduce the connection strength or status between connection point 116 and ones of firearms 104, wearable devices 106, and/or stationary devices 108, in which case other connection points located elsewhere in the deployment location may be leveraged for redundancies and back-up communication mechanisms.

In embodiments, connection point 116 may be included in or otherwise use a mesh network to facilitate communications between server device 112 and one or more of firearms 104, wearable devices 106, or stationary devices 108 over network 114. The mesh network may be or represent a network of connections between firearms 104, wearable devices 106, stationary devices 108, connection points (e.g., connection point 116), and/or other devices, such as response infrastructure 110, mobile robots, or the like. The mesh network may form part of a large mesh network, allowing devices, such as firearms and mobile robots, to communicate directly with one another, rather than having to first connect through a centralized network communication hub, or as a supplement to communication by one or more devices to such a hub.

In embodiments, application 102 processes signals received from assets other than firearms 104, wearable devices 106, and/or stationary devices 108. For example, instead of or in addition to signals received from firearms 104, wearable devices 106, and/or stationary devices 108, application 102 can process signals received from one or more of vehicles, mortars, and/or other trackable assets. Each of the vehicles, mortars, and/or other trackable assets may include one or more sensors, which may be the same or different from one or more of sensors 118, sensors 120, and/or sensors 122.

In embodiments, some or all users within a deployment location may be underground. In such a case, system 100 can use geolocation systems (e.g., a global navigation satellite system, for example, the global positioning system (GPS), the global navigation satellite system (GLONASS), the BeiDou navigation satellite system (BDS), Galileo, or the like) to track subterranean locations of users. In some such embodiments, assets such as body cameras, heads-up displays, or the like may be used to supplement subterranean tracking of users.

In embodiments, server device 112 may be part of a cloud computing infrastructure. For example, application 102 may be or represent functionality of a software-as-a-service (SaaS) or platform-as-a-service (PaaS) cloud system. In such embodiments, application 102 may be a single- or multi-instance software application run using one or more web servers, application servers, hypervisors, or the like. In such embodiments, server device 112 may be or include a hardware server (e.g., a computing device), a software server (e.g., a web server and/or a virtual server), or both. For example, where server device 112 is or includes a hardware server, server device may be a computing device located in a rack, such as of a data center.

In embodiments, connection point 116 may use or otherwise include an efficient architecture and components for low power consumption, including energy harvesting mechanisms, such as harvesting the energy of motion of firearms 104 and/or wearable devices 106 or energy from the recoil of firearms 104 to provide power for storage and/or reporting of data to the application 102. The energy harvesting mechanisms may also be configured to harvest local energy in the RF domain or other appropriate local electromagnetic signals of sufficient strength.

In embodiments, sensors 120 of wearable devices 106 may include or otherwise integrate with physiological monitors. A heart rate band or monitor can be an indicator of a distressed situation creating a notification. In embodiments, wearable devices 106 may integrate the Emergency Response Data communications architecture. In embodiments, wearable devices 106 may include body cameras which capture images and/or video. In such embodiments, sensors 120 of wearable devices 106 may include image sensors.

In embodiments, application 102 generates geofence-based alerts. For example, the geofence capability can be implemented around a warehouse where weapons are stored to track weapons for inventory control or threatening situations. In another example, the geofence capability can be implemented around a central area within the deployment location, for example, the connection point 116.

In embodiments, application 102 integrates with mobile device technology. Application 102 can send critical messages in a timely manner, such as through an app installed on a mobile phone or other mobile computing devices of a user of firearm 104. The app may be directly connected to dispatchers, such as allowing the caller to request assistance.

Referring to FIG. 2, firearm 200 is one of firearms 104 used in connection with system 100 and user 202 is the user of firearm 200. In the example shown, firearm 200 is depicted as an assault rifle. However, firearms which may be used in connection with a firearm monitoring and remote support system in accordance with the embodiments of this disclosure may be of other firearm types. For example, types of the firearms 104 other than assault rifles may include, but are not limited to, pistols, revolvers, shotguns, other rifles, or the like. Although the following discussion regarding firearm 200 is with respect to the structure of an assault rifle particularly, similar discussion with respect to other firearm types is understood, and it will be understood from the following discussion how sensors may be used with other firearm types.

In particular, the illustration of FIG. 2 is intended to describe locations of firearm 200 at which various sensors or other components may be included or coupled. Examples of sensors or other components which may be included in or coupled to the various locations shown include, but are not limited to, an IMU (e.g., including an accelerometer and/or a gyroscope), a geolocation sensor, a force connector, a power input, a battery charger, a laser, a regulator, a serial communication system component, a flash memory, a network interface, a programmable hardware unit, or the like.

Firearm 200 includes one or more structures for performing or facilitating operations typical of a firearm, for example, for storing ammunition, firing one or more projectiles from the ammunition, controlling the storage and firing of ammunition, and more. In embodiments, firearm 200 can include an action structure, a stock structure, and a barrel structure. In embodiments, firearm 200 can include one or more rails. A rail may, for example, be located on one or more of, or proximate to one or more of, the action structure, the stock structure, or the barrel structure.

The action structure is or refers to the structure of components which are used to handle and propel ammunition during firing. For example, the action structure may include one or more components which are used to load, lock, fire, extract, and/or eject ammunition or shells thereof. Depending on the particular type of firearm, the action structure may use a break action mechanism, a bolt action mechanism, a lever action mechanism, or another action mechanism. The action structure may include a charging handle used to move a hammer to a ready position for firing. The action structure may include a forward assist component that moves a bolt fully forward in the event a return spring fails to do so. The action structure may include a gas operating system which directs energy for operating a locked breech of the action mechanism. The action structure may include a hammer that strikes a firing pin or other component of the action mechanism to cause the combustion or compression which fires a projectile from the barrel structure of the firearm. The action structure may include an ejection port which uses forced gas or other energy resulting from the combustion or compression to eject an ammunition shell from the barrel structure of the firearm after the projectile thereof has been fired. The action structure may also include components other than those described above.

The stock structure is or refers to a structure of components which provide support to the action structure and/or to the barrel structure. In embodiments, the stock structure includes a butt and a fore-end. The butt and the fore-end may be included in a one-piece stock structure or in a two-piece stock structure. The butt includes a grip and a comb. The grip is a component which may be held by a user of the firearm during the operation of the firearm. The comb is a portion of the butt which supports a portion of a body of the user of the firearm during the operation of the firearm. A hook may be coupled to the butt of the stock structure, for example, to support a portion of a body of the user of the firearm during the operation of the firearm. The butt may be solid. Alternatively, the butt may be collapsible or telescoping. The fore-end may include a handguard for protecting a hand of a user of the firearm from heat generated at the barrel structure of the firearm during the operation of the firearm. The fore-end may in some cases include a portion of the action structure of the firearm. For example, the fore-end may include a pump component for a pump action shotgun or other pump action firearm. The stock structure may also include a trigger unit, which includes a trigger engaged by a user of the firearm and may also include a safety for selectively disengaging the operation of the trigger. The stock structure may also include a magazine well which receives a magazine and directs a projectile from a cartridge inserted in the magazine to a chamber of the barrel structure. In embodiments, the trigger unit and/or the magazine well may be included in the stock structure. In embodiments, the grip may be included in a portion of the stock structure other than the butt. In embodiments, the grip may be included in a component in contact with the stock structure instead of in the stock structure itself.

The barrel structure is or refers to a structure of components through which a projectile is fired, for example, using combustion or compression. In embodiments, the barrel structure includes a chamber, a muzzle, and a bore. The chamber is a cavity in which an ammunition cartridge is inserted and in which a projectile is stored until it is fired. The muzzle is the portion of the barrel structure through which a projectile is fired, and which is located at an end of the barrel structure opposite to the chamber. The muzzle may, in embodiments, include a coupling element, which may, for example, be or include a threaded engagement or another engagement. An accessory device for use with the firearm may be coupled to the coupling element on the muzzle or another portion of the barrel structure. For example, the accessory device may be coupled by a coupling element located above the muzzle when the firearm is oriented for normal operation. In such a case, for example, the accessory device may be a sight, a scope, or another accessory. In another example, the accessory device may be coupled by a coupling element located in front of the muzzle when the firearm is oriented for normal operation. In such a case, for example, the accessory device may be a flash hider, a suppressor, or another accessory. The bore is the hollow length of the barrel structure through which a projectile travels when fired. An internal surface of the bore may, in embodiments, be smooth or grooved to control or otherwise enable a projection of a projectile from the chamber to a location outside of the muzzle during firing.

A rail is or refers to a structure to which one or more accessories may be coupled for use during the operation of the firearm. A rail includes an interface mechanism for permanently or removably coupling accessories to the firearm. The interface mechanism may allow for one or more of slidable engagement of an accessory, slotted engagement of an accessory, threaded engagement of an accessory, snap-fit engagement of an accessory, friction-fit engagement of an accessory, or the like. The rail may be a Dovetail rail, a Weaver rail, a Warsaw Pact rail, a Picatinny rail, a KeyMod rail, a M-LOK rail, or a UIT rail, although other styles of rail are possible. In embodiments, the particular form of the interface mechanism may depend upon the style of the rail. A rail as used with a firearm according to the embodiments of this disclosure may be coupled to a surface of an action structure of a firearm (e.g., above an ejection port), a surface of a barrel structure of a firearm (e.g., above the chamber or a portion of the muzzle), or a surface of a stock structure of a firearm (e.g., above a handguard). Although a rail typically is located on an upper surface of a firearm structure with respect to an orientation of the firearm during use, in embodiments, a rail as disclosed herein may be located on another surface, or on a combination of surfaces, of one or more firearm structures. Examples of accessories which may be coupled to a rail include, without limitation, scopes, sights (e.g., laser sights, iron sights, reflector sights, holographic sights, or the like), tactical lights, and vertical forward grips.

In embodiments, components described above as being included in the action structure, as being included in the stock structure or being in contact with the stock structure, or as being included in the barrel structure, may instead be included in one of a lower receiver unit of the firearm or an upper receiver unit of the firearm. In embodiments, components described herein as being included in the stock structure may instead be included in the lower receiver unit and/or the upper receiver unit, or both. In embodiments, one or more rails and/or components coupled to rails as described above may be included in the lower receiver unit and/or the upper receiver unit.

Firearm 200 includes action structure 204, stock structure 206, and barrel structure 208. Action structure 204 is shown as including charging handle, bolt, and ejection port. Stock structure 206 is shown as including grip, comb, handguard, trigger unit, magazine well, and magazine. Barrel structure 208 is shown as including muzzle, accessory device (e.g., a suppressor), and accessory device (e.g., a sight assembly). Firearm 200 further includes first rail 210 and second rail 212. Each of the rails 210 and 212 includes an interface mechanism for permanently or removably coupling one or more accessories to firearm 200. For example, first accessory 214 (e.g., a laser sight and/or tactical light) is coupled to rail 212 and second accessory 216 (e.g., a scope) is coupled to rail 210. In embodiments, other components and/or other numbers of components may be coupled to rail 210 and/or to rail 212. In embodiments, action structure 204, stock structure 206, and barrel structure 208 may include components other than or in addition to what is shown in FIG. 2.

In embodiments, a firearm used in connection with a firearm monitoring and remote support system in accordance with the embodiments of the present disclosure can include structures other than an action structure, a stock structure, a barrel structure, and/or one or more rails. For example, in embodiments, such a firearm can include a cylinder structure including multiple chambers for storing a projectile to be fired. For example, the firearm may be a revolver or another firearm with a structure for rotating multiple chambers into alignment with the bore of the barrel structure. In another example, in embodiments, such a firearm may omit the stock structure. For example, the firearm may be a pistol or other handgun in which components such as the grip and/or trigger are coupled to the rest of the firearm by a structure other than a stock structure. In another example, in embodiments, such a firearm may include a stock structure that omits the butt. For example, the firearm may be a pistol or other handgun which includes a stock structure that structurally supports the action structure and/or the barrel structure, but in which contact with the user is intended to be limited to the grip. It is to be understood that other firearm embodiments as are currently known or which are later developed may be used to implement or otherwise integrate one or more of the methods and systems disclosed herein.

Assets used in connection with a firearm monitoring and remote support system in accordance with the embodiments of the present disclosure may be located within or otherwise positioned with respect to certain structures and/or certain components of structures used in connection with firearm 200. Examples of such structures are shown in FIG. 2 as wearable devices worn by user 202 of firearm 200. The examples include outerwear 218, helmet 220, earpiece 222, eyeglasses 224, and wristbands 226. Outerwear 218 may be or include a vest, a jacket, a shirt, or another wearable item. Helmet 220 may be a helmet or another head covering or combination of head coverings. Earpiece 222 is an in-ear device for receiving audio from a remote source. In embodiments, earpiece 222 may include a microphone for recording audio for transmission to another in-ear device or to a remote source. In embodiments, earpiece 222 may be a hearing guard, such as a plug for blocking the ear canal of user 202. In such an embodiment, earpiece 222 may omit audio communication functionality. Eyeglasses 224 are a cover for one or both eyes of user 202. Wristbands 226 are wearable devices worn around the wrists of user 202. Although one wristband 226 is shown on each arm of user 202, in embodiments, user 202 may wear a wristband 226 on only one arm, or user 202 may wear more than one wristbands 226 on one or both arms. In embodiments, one or more of outerwear 218, helmet 220, earpiece 222, eyeglasses 224, or wristbands 226 may be embodied in a form factor other than what is shown as described. For example, one or both of wristbands 226 may be embodied as rings worn on fingers of user 202, as devices worn around a neck of user 202, as pins coupled to outerwear 218, or another form factor, or a combination thereof. In embodiments, outerwear 218 may be or include clothing or other wearable items which are not located worn as outerwear. For example, outerwear 218 may be or include an undershirt, a vest worn underneath outerwear, or another wearable item.

In embodiments, assets other than wearable devices used in connection with a firearm monitoring and remote support system in accordance with the embodiments of the present disclosure may be located within or otherwise positioned with respect to certain structures and/or certain components of structures used in connection with firearm 200. Although not shown in FIG. 2, examples of such other assets include mobile devices (e.g., cell phones, tablet computers, personal digital assistants (PDAs), mobile connection points, or the like) which may be possessed by the user and/or permanently or removably coupled to other assets (e.g., firearms, wearable devices, stationary devices, stationary connection points, or the like).

While examples of particular structures of a firearm and particular components of structures of a firearm are disclosed herein, such disclosure is not limiting as to the possible structures of components of structures of a firearm or as to the possible locations or positionings of components used by the methods and systems disclosed herein with respect to those structures or those components of structures. Accordingly, it is to be understood that components used by one or more of the methods and systems disclosed herein may be located or positioned in other locations or positions in or about a firearm, regardless of the particular structures disclosed herein by example.

Referring to FIG. 3, computing device 300 is or refers to one or more of: server device 112; an electronic system within or otherwise coupled to a firearm 104, a wearable device 106, a stationary device 108, or response infrastructure 110; or another computer, phone, PDA, or other sort of electronic device used in connection with system 100.

Computing device 300 includes various types of computer readable media and interfaces for various other types of computer readable media. Computing device 300 includes bus 302, processing unit(s) 304, system memory 306, read-only memory (ROM) 308, permanent storage device 310, input devices 312, output devices 314, and network interface 316.

Bus 302 collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the computing device 300. For instance, bus 302 communicatively connects processing unit(s) 304 with ROM 308, system memory 306, and permanent storage device 310. From these various memory units, processing unit(s) 304 retrieves instructions to execute and data to process in order to execute the many processes disclosed herein. The Processing unit(s) 304 may be or include a single processor or a multi-core processor in different embodiments. In embodiments, the system memory 306 could also be used as a buffer for data before the data is transmitted from the user. In embodiments, the system memory 306 could also be used as a buffer for data before being sent to storage, especially in situations where the data cannot be transmitted from the user.

ROM 308 stores static data and instructions that are needed by processing unit(s) 304 and other modules of computing device 300. Permanent storage device 310, on the other hand, is a read-and-write memory device. The Permanent storage device 310 is a nonvolatile memory unit that stores instructions and data even when computing device 300 is off. Some embodiments disclosed herein may use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as permanent storage device 310.

Other embodiments use a removable storage device (such as a floppy disk or a flash drive) as permanent storage device 310. Like permanent storage device 310, system memory 306 is a read-and-write memory device. However, unlike storage device 310, system memory 306 is a volatile read-and-write memory, such as random access memory (RAM). System memory 306 stores some of the instructions and data that the processor needs at runtime. In some embodiments, processes are stored in system memory 306, permanent storage device 310, and/or ROM 308. For example, the various memory units include instructions for processing appearance alterations of displayable characters in accordance with some embodiments. From these various memory units, processing unit(s) 304 retrieves instructions to execute and data to process in order to execute the various processes of disclosed herein.

Bus 302 also connects to input devices 312 and output devices 314. Input devices 312 enable the person to communicate information and select commands to computing device 300. Input devices 312 include alphanumeric keyboards and pointing devices (also called cursor control devices). Output devices 314 display images generated by computing device 300. Output devices 314 include printers and display devices, such as cathode ray tubes (CRTs), liquid crystal displays (LCDs), or light-emitting diodes (LEDs). Some embodiments include devices such as a touchscreen that functions as both input devices 312 and output devices 314.

Bus 302 also couples computing device 300 to network interface 316 for connecting computing device 300 to a network (e.g., network 114). In this manner, the computing device 300 can be a part of a network of computers (e.g., a LAN, a WAN, a VPN, a P2P network, or an intranet), a network of networks (e.g., the Internet), or another network (e.g., a cellular network). Any or all components of computing device 300 may be used in conjunction with the various embodiments of the present disclosure. For example, network interface 316 can enable communications over Ethernet, TCP, IP, power line communication, Wi-Fi, Bluetooth®, infrared, RF, GPRS, GSM, FDMA, CDMA, EVDO, Z-Wave, ZigBee, 3G, 4G, 5G, another protocol, or a combination thereof.

Referring to FIG. 4, the functionality of application 102 is further described. Application 102 includes software modules used for monitoring firearms and other assets within a deployment location (e.g., wearable devices and/or stationary devices). The software modules include firearm monitoring module 400, threat detection and analysis module 402, threat response module 404, GUI generation and display module 406, and signal processing module 408.

Firearm monitoring module 400 monitors firearms (e.g., firearms 104), deployed to a deployment location. Firearm monitoring module 400 monitors the users, firearms, and other assets based on measurements recorded using sensors included within or otherwise coupled to the firearms and other assets (e.g., sensors 118). For example, the firearm monitoring module 400 can process the measurements recorded using the sensors to determine changes in a position and/or orientation of a firearm and/or to determine motion of the firearm. For example, the measurements recorded using the sensors may include or otherwise be indicative of one or more of a change in orientation of a firearm, a vibration of the firearm, recoil resulting from a firing of the firearm, pressure applied to all or a portion of the firearm (e.g., to a trigger mechanism or grip), changes in contents of a magazine of the firearm, heat and/or light changes at a muzzle of the firearm (e.g., indicating a firing of the firearm), or the like.

In embodiments, firearm monitoring module 400 monitors users of firearms (e.g., users of firearms 104) and/or other assets (e.g., wearable devices 106 and stationary devices 108). Firearm monitoring module 400 monitors the users and/or other assets based on measurements recorded using sensors included within or otherwise coupled to the other assets (e.g., sensors 122) and sensors included in assets worn by the users (e.g., sensors 120). For example, the firearm monitoring module 400 can process the measurements recorded using the sensors to determine changes in a position and/or orientation of a user and/or other asset and/or to determine motion of the user and/or other assets. For example, the measurements recorded using the sensors may include or otherwise be indicative of one or more of a sudden motion of the user, a speed and/or direction of motion of the user, a vibration measured based on a firing of a firearm of the user, sudden changes in an amount of light detected around the user, or the like.

The output of firearm monitoring module 400 can be used to update information representing real-time position and orientation of firearms in a deployment location. For example, as will be described below, the output of firearm monitoring module 400 can be used by GUI generation display module 406 to update one or more GUIs to change a visual representation of one or more firearms based on the real-time position and orientation of the firearms. In another example, as will be described below, the output of firearm monitoring module 400 can be used by threat detection and analysis module 402 to detect a threat within the deployment location and/or to analyze whether a threat detected within the deployment location requires a threat response.

In embodiments, firearm monitoring module 400 includes functionality for monitoring firearm maintenance. With such firearm maintenance monitoring, the application 102 may provide (e.g., to the user of a firearm, to remote support personnel using the application 102, or to other personnel) data on the number of rounds discharged and which firearm components need maintenance or replacement. The firearm maintenance monitoring functionality of firearm monitoring module 400 can include generating an alert indicative of maintenance requirements determined based on the monitoring, for example, to notify the user of the firearm, remote support personnel, or other personnel.

In embodiments, firearm monitoring module 400 includes functionality for alerting a user of a firearm should the firearm is pointed at another user (e.g., in the same group or otherwise). For example, each user may have a tracking system (e.g., included in the firearm, a wearable device worn by the user, or another asset). The firearm monitoring module 400 can detect when a firearm of one user is pointed at another user with such a tracking system. In some such embodiments, firearm monitoring module 400 may also alert the user should the firearm be pointed at other weaponry (e.g., another firearm or another weapon), another deployed asset, another predefined target, raised quickly in a geo-defined zone, or the like. This may, for example, help avoid friendly fire (e.g., potentially resulting in fratricide) situations.

Firearm monitoring module 400 includes functionality for identifying discharges and counting shots, discharges, and other operations of firearms. In embodiments, an external device attached to a firearm can register when a shot is fired. The discharge has a unique, detectable, physical profile (e.g., a discharge has recoil that has a particular motion profile, sound profile, and the like). A recoil measuring system may use an IMU, including or combined with motion-detecting/sensing elements, including one or more accelerometers, gyros, magnetometers, and the like. In embodiments, a map is developed based on analyses of discharge events to the map the entire motion sequence caused by a typical discharge. That motion profile, which may be unique to each weapon platform and user, can be stored and used as a basis for comparing future sensed data to determine whether a discharge event has occurred. Similar profiling can be used for each weapon type to determine whether the firearm has been raised to an aiming position or out of the holster position.

In embodiments, a firearm may include an infrared gate in front of the ejection port. This gate can track disconnects when the weapon is fired, such as when the shell is engaged and breaks the gate. In embodiments, a firearm may include a hall-effect sensor to measure the motion of an internal part. In embodiments, firearm monitoring module 400 can capture the discharge profile of a given weapon by using an IMU. The discharge profile may have unique inertial characteristics when a weapon is discharged, such as based on the geometry, distribution of weight, specified ammunition, and the like, so that a discharge can be profiled and identified based on a series of movements that are measured by the IMU. In embodiments, firearm monitoring module 400 can capture the discharge profile of a given weapon by using a sensor to monitor the position of the trigger so that when the trigger is pulled, we can assume a discharge and verify with the IMU or other correlating data or use that to identify misfire or dry fire scenario.

In embodiments, firearm monitoring module 400 includes an activity monitor which will indicate events such as when the gun is elevated and being pointed. In embodiments, firearm monitoring module 400 measures the parameters of the recoil and parameters of pre-shot movement. This allows an analysis of changes over time to determine the status of the weapon. The firearm monitoring module 400 can also capture movements and determine whether the user is handling the weapon properly.

In embodiments, firearm monitoring module 400 provides alternatives for monitoring discharges, such as cameras, or augments those other monitoring systems. The methods and systems disclosed herein may include image recognition, which can identify the flash of a muzzle or for the slide rocking back. The system may also have acoustic abilities and may provide sound recognition.

Threat detection and analysis module 402 uses sensor measurements, existing knowledge, and/or trained machine learning models related to users, firearms, other assets, and/or conditions within a deployment location to detect whether a threat exists within the deployment location and to analyze the severity of detected threats. The sensor measurements, existing knowledge, and/or trained machine learning models are taken as inputs to threat detection and analysis module 402. Threat detection and analysis module 402 outputs data indicating one or more of a detected threat, a threat severity, or no threat detected. The sensor measurements can include measurements recorded using one or more of sensors 118, sensors 120, or sensors 122. For example, measurements recorded using one or more of sensors 118, sensors 120, or sensors 122 may include, without limitation, information indicating changes in the orientation of a firearm, changes in a movement speed of a user, biometric information (e.g., increase in user pulse, increase in user sweat levels, increase in user eye movement, or the like), changes in how a user grips or otherwise holds a firearm, image or video data (e.g., captured using a user body camera, a camera on a UAV or other aircraft, a camera of a stationary device, a camera of another vehicle, or another camera) showing hostiles or persons who appear to be hostiles, or the like.

In embodiments, the sensor measurements can include information output from firearm monitoring module 400. For example, the firearm monitoring module 400 can process measurements recorded using one or more of sensors 118, sensors 120, or sensors 122 and provide the processed measurements to threat detection and analysis module 402. In such an embodiment, the processed measurements may include additional information added by firearm monitoring module 400, for example, representing previous monitoring data corresponding to one or more of sensors 118, sensors 120, or sensors 122.

The knowledge used by threat detection and analysis module 402 includes information stored within a knowledgebase of system 100. For example, the knowledgebase can be represented by or otherwise include or refer to information stored within database 124, which can be accessed by application 102. The information within the knowledgebase can be processed against the sensor measurements, for example, to compare the sensor measurements to established thresholds or other known conditions associated with threat detection. As will be described below, the machine learning models used by threat detection and analysis module 402 are models (e.g., of a deep learning neural network or another machine learning or machine intelligence approach) which have been trained using one or more data sets (e.g., including information within the knowledgebase and/or information collected from past deployments of users using sensors such as sensors 118, sensors 120, and/or sensors 122).

Threat detection and analysis module 402 can use a rule-based approach to detect and analyze threats. In embodiments, different inputs may be assigned or otherwise attributed different score values. For example, a firearm discharge being detected may have a higher score than a change in firearm orientation detection. In another example, a change in firearm orientation detection may have a higher score than a user motion detection. A rule used by threat detection and analysis module 402 can compare score totals calculating by adding scores for various present inputs against one or more thresholds configured for indicating a threat. A threat can be detected where the calculated score total meets or exceeds one or more of the thresholds. In embodiments, a rule used by threat detection and analysis module 402 can indicate that the detection of a condition (e.g., based on one or more of the sensor measurements) indicates a detected threat. For example, where the sensor measurements indicate that multiple firearms are being discharged at the same time, threat detection and analysis module 402 can use that information alone to determine that a potential threat exists.

Threat detection and analysis module 402 analyzes the input information not only to detect a threat, but also to determine a severity of a detected threat. For example, a detected threat which appears to relate to the presence of a single hostile combatant may be considered less severe than a detected threat which appears to relate to the presence of multiple hostile combatants. In another example, a detected threat which appears to relate to the presence of enemy tanks, mortars, or other heavy machinery or heavy-powered weaponry may be considered more severe than a detected threat which appears to relate to the presence of hostile combatants armed only with handguns or assault rifles. The detection of a threat, along with the severity of the detected threat, are used to determine an appropriate response to the detected threat, for example, using threat response module 404. Determining the severity of a threat may include analyzing some or all of the input information used to detect the treat. For example, for a given threat, a threat severity may be low when input information indicates that the users who will engage the threat have what is expected to be an adequate amount of ammunition for engaging the threat, but high when the input information indicates that those users do not have an adequate amount of ammunition. In another example, for a given threat, a threat severity may be low when the number of users who will engage the threat is greater than the number of hostile combatants detected, but high when the number of users who will engage the threat is less than the number of hostile combatants detected.

Threat detection and analysis module 402 thus considers the types and number of firearms possessed by each engaged user, the amount of unused ammunition remaining in possession of each such engaged user, the amount of ammunition already used during the engagement by each such user, the number of engaged users, the locations of the engaged users (e.g., in relation to each other, to the hostiles, and/or to the geography), and the like. Threat detection and analysis module 402 further considers the number of hostiles, the locations of the hostiles (e.g., in relation to each other, to the users, and/or to the geography), the types of firearms used by the hostiles (including the expected ammunition stocks and possible reserves therefor), the number of firearms used by the hostiles, an amount of time for which the firearms of the users have been firing at the users, and the like.

In embodiments, system 100 can prompt a user of a firearm for input verifying that a threat exists. For example, where threat detection and analysis module 402 detects a potential threat with low confidence, a signal may be transmitted to a personal computing device of a user within the deployment location to verify whether a threat is present in the deployment location. The user may respond in one or more ways to verify the potential threat. For example, the personal computing device may include a button or other hardware interface which may be toggled in response to the request for verification to indicate whether the threat exists. In another example, the personal computing device or a wearable device may include a microphone. The user can speak into the microphone to verify whether the threat exists. Other options for verifying a threat are possible, as will be understood. In embodiments, a mode of the safety on the firearm can be detected and can be a further option for verifying a threat such that one of the modes (e.g., safe, semi, full-auto, locked) can be an additional metric when assessing the threat detection.

In embodiments, system 100 may allow a user (e.g., of a firearm and/or of a remote dashboard) to validate a threat using the firearm, for example, during in a live combat situation. For example, application 102 may establish or otherwise be used to establish a pressure signature to validate the threat. The threat may be validated by application 102 (e.g., by threat detection and analysis module 402) by comparing the pressure signature against a range of pressure signatures, for example from no pressure to extreme pressure.

The pressure signature may be established by collecting information, such as information from sensors, for example, sensors 118, sensors 120, sensors 122, and/or other sensors, such as multi-modal sensors 1060. Combinations of sensors may include combinations of wearable and firearm sensors, combinations of the firearm and fixed sensors, for example, Internet of Things (IoT) sensors, and the like. A sensor equipped firearm may include a pressure sensor, for example, to determine a grip profile using information such as threat ID, shot accuracy, engagement, alert information and tactical information. Information collected from a sensor equipped firearm may include discharge information, motion information, rate of motion information, orientation information and the like. The rate of motion information, for example, may include movement information related to speed, threat identification and shot accuracy. Movement information may also be related to an event identifier for events, such as events associated with weapons and people. Events associated with firearms may include events indicating the firearm has fallen, is outside of a pre-designated distance from its owner, in an unauthorized area and the like. Events associated with people may include events indicating a person is in an unauthorized area, the maneuvering speed of the person and the like.

In embodiments, determining the pressure signature may also include determining a firearm-specific candidate action of a first firearm user, from at least a portion of the collected information. The candidate action may be compared with other firearm users, for example, other firearm users proximal to the first firearm user or other firearm users associated with the first firearm user. The collected information, candidate action or actions, and action comparison result may then be stored in a data structure that represents the pressure signature. The collected information, candidate action or actions, and action comparison result may also be filtered or weighted based on specified criteria, prior to being stored in the data structure that represents the pressure signature.

Threat response module 404 determines an action to be performed in response to a detected threat based on the detected threat and based on the severity of the detected threat. The action determined using threat response module 404 may be based on the threat detected. As such, the threat response module 404 can use information, qualities, characteristics, or other aspects of the detected threat (e.g., identified, determined, or otherwise produced using threat detection and analysis module 402) to determine the action to perform in response to the detected threat. Examples of actions which may be determined using threat response module 404 include, but are not limited to, delivery of additional ammunition to one or more users within the deployment location, request for reinforcements within the deployment location to assist in engaging the threat, delivery of new firearms or other weaponry (e.g., weaponry which is heavier or otherwise more powerful than is currently possessed by the users within the deployment location) to one or more users within the deployment location, delivery of medical equipment to one or more users within the deployment location, request for medical personnel within the deployment location (e.g., with or without medical equipment), delivery of new communications tools within the deployment location, transmissions of notifications to nearby connection points (e.g., to notify another group of users as to the existence of the threat detection or engagement), or the like.

The threat response module 404 can use a rule-based approach to determine an appropriate threat response. In embodiments, the rule-based approach used by threat response module 404 may be the same rule-based approach as may be used by threat detection and analysis module 402. In embodiments, the rule-based approach used by threat response module 404 may be an extension of the rule-based approach used by threat detection and analysis module 402. The rule-based approach used by threat response module 404 can indicate to determine certain threat responses based on certain detected threats and/or based on certain severities of detected threats. For example, a rule can indicate to deliver additional ammunition (e.g., by UAV or otherwise) when a detected threat includes multiple hostile combatants and the associated threat severity is high. In another example, a rule can indicate to request reinforcements to arrive at the deployment location within some specified or unspecified amount of time when a detected threat includes a number of hostile combatants which is higher than a number of engaging users and the skill levels of the engaging users do not meet a threshold.

In embodiments, the action determined using threat response module 404 can include or otherwise indicate a combination of actions to be performed in response to a detected threat. For example, where threat detection and analysis module 402 determines that a given user will run out of ammunition before the end of an engagement with a number of hostiles and that the number of hostiles exceeds the number of users in the group that includes the given user, threat response module 404 can determine the action to be performed in response to the detected threat as delivering additional ammunition to the given user (e.g., by UAV delivery or otherwise) and calling for reinforcements to assist the group of users in engaging the number of hostiles.

GUI generation and display module 406 generates, updates, and renders or displays GUIs. A GUI generated using GUI generation and display module 406 can comprise part of a software GUI constituting data that reflect information ultimately destined for display on a hardware device, for example, a client device or other computing device which communicates with server device 112 or another computing device running, executing, interpreting, or otherwise operating application 102. For example, the data can contain rendering instructions for bounded graphical display regions, such as windows, or pixel information representative of controls, such as buttons and drop-down menus. The rendering instructions can, for example, be in the form of HTML, SGML, JavaScript, Jelly, AngularJS, or other text or binary instructions for generating a GUI or another GUI on a display that can be used to generate pixel information. A structured data output of one device can be provided to an input of the hardware display so that the elements provided on the hardware display screen represent the underlying structure of the output data. Instructions for displaying or otherwise rendering a GUI generated using GUI generation and display module 406 can be communicated from server device 112 to a client device or another computing device which communicates with server device 112.

GUIs which may be generated, updated, and rendered or displayed using GUI generation and display module 406 include a deployment location GUI, a remote support dashboard GUI, a user and firearm GUI, and others. The deployment location GUI includes a two-dimensional top-down geographic view of the deployment location including icons indicating positions and orientations of users and/or of firearms or other assets within the deployment location and further including cones for the users, firearms, or other assets. The top-down geographic view may, for example, represent a real-time satellite feed imaging the deployment location. Alternatively, the top-down geographic view may represent terrain, topographic, roadway, or other map views of the deployment location.

The remote support dashboard GUI includes views for displaying and enabling user interaction with information relating to users, firearms, and/or other assets deployed to the deployment region. For example, the remote support dashboard GUI may include a dashboard view which displays one or more of lists of users, lists of firearms possessed by the users, stock of ammunition possessed by the users, lists of potential or actual threats detected within the deployment location, alerts corresponding to detected threats, alerts corresponding to detections of firearms being fired, or the like. In another example, the remote support dashboard view may include a validation view which presents requests, actions, or other information for review and/or approval by a user of application 102. The validation view may, for example, display notifications relating to automated responses taken based on detected threats. In embodiments, where a response is presented for user approval before execution, the validation view may present a request to approve a response.

The user and firearm GUI include views indicating real-time position and orientation information for users and firearms used thereby. For example, the user and firearm GUI may include a three-dimensional firearm orientation view which updates in real-time based on signals received from a firearm to show an orientation of the firearm, for example, with respect to a surface on which a user of the firearm is standing or otherwise located. In another example, the user and firearm GUI may include a two-dimensional recoil tracking view which updates in real-time based on signals received from a firearm to show how the firearm moves over time based on recoil from firings of the firearm. In yet another example, the user and firearm GUI may include a view showing real-time video or image feeds captured using a body camera of a user.

In embodiments, two or more GUIs, or views from two or more GUIs, may be combined into a single GUI which is rendered or displayed. For example, some or all views of the user and firearm GUI may be included in the deployment location GUI, for example, to enable the simultaneous display of multiple monitors. For example, as will be described below with respect to FIG. 6, a deployment location GUI may include a top-down geographic view, a three-dimensional firearm orientation view, a two-dimensional recoil tracking view, and a user body camera feed view. In this way, a remote user of application 102 can simultaneously view real-time information regarding user hostile engagement or detection within the deployment location and individual or group firearm monitoring information.

Signal processing module 408 processes signals received, directly or indirectly, from assets within a deployment location. The signal processing module 408 can receive and process signals from firearms 104, wearable devices 106, stationary devices 108, and/or other assets. Processing signals using signal processing module 408 includes preparing data included within those signals for use with other modules of application 102. For example, signal processing module 408 can process a signal to prepare the signal for use by one or more of firearm monitoring module 400, threat detection and analysis module 402, or GUI generation and display module 406. For example, a signal received at application 102 may be received in a compressed form. The signal processing module 108 processes the signal including by decompressing the signal to restore the data included in the signal to an uncompressed form. In another example, a signal received at application 102 may include noise, for example, introduced during the recording of sensor measurements (e.g., by motion of a user, vibrations to which a sensor is exposed, or another noise source). The signal processing module 408 can denoise the signal before making the signal available to one or more of firearm monitoring module 400, threat detection and analysis module 402, or GUI generation and display module 406.

In embodiments, signal processing module 408 can receive and process batches of signals. For example, rather than receiving a sequence of individual signals, signal processing module 408 can receive a batch of signals generated, identified, or otherwise collected (e.g., using connection point 116) for transmission to server device 112 for use with application 102. For example, a batch of signals may represent signals collected within a defined time interval (e.g., within a five second period or less). For example, connection point 116, or another component which collects signals from assets deployed within a deployment location, can use timestamps for the signals to coordinate batching of signals for transmission to server device 112. In another example, a batch of signals may represent signals relating to common asset types or from a specific asset or group of assets. For example, connection point 116, or another component which collects signals from assets deployed within a deployment location, can determine the type of asset from which a signal is collected (e.g., based on pre-processing performed against the signal and/or based on a channel of communication used to collect the signal) and can coordinate batching of signals for transmission to server device 112 by grouping the signals by asset type.

In embodiments, application 102 includes inventory control functionality. For example, the inventory control functionality can include monitoring stores of asset inventory (e.g., firearms, ammunition, wearable devices, stationary devices, and/or other assets) within one or more locations. The inventory control functionality can be used to track when assets are taken out of an inventory store (e.g., for use in arming a user during a deployment). The inventory control functionality can also be used to track inventory usage, for example, to assist in determining when resupply orders are needed. In some such embodiments, the inventory control functionality of application 102 can include functionality for automating resupply orders of some or all asset inventories, for example, based on the monitoring of the assets within one or more locations of the inventory stores and/or within one or more deployment locations.

In embodiments, application 102 includes predictive functionality. In some such embodiments, the predictive functionality of application 102 can include functionality for determining an action to be performed even in the absence of a detected threat. For example, the predictive functionality of application 102 can include a predictive resupply module that predicts a need to resupply ammunition based on the number of shots taken using one or more firearms. The predictive functionality of application 102 can include generating an alert indicative of the action to be performed, for example, to notify a user of the firearm, remote support personnel, or other personnel. In embodiments, which include such predictive resupply module and inventory control functionality, the inventory control functionality can account for inventory of rounds used with the predictive resupply module that tracks the amount of ammunition used and alerts when the inventory and shots fired do not match indicating a loss of ammunition.

In other such embodiments, the predictive functionality of application 102 can include functionality for predicting maintenance or other states of assets within a deployment location. For example, the predictive maintenance can include predicting a maintenance requirement and/or status of a firearm based on a number of shots taken, based on recoil parameters (e.g., showing degradation of performance as recoil patterns shift over time), and/or based on other criteria. The predictive functionality of application 102 can include generating an alert indicative of the predicted maintenance requirement and/or status, for example, to notify a user of the firearm, remote support personnel, or other personnel.

Beneficially, the firearm usage monitoring system may provide maintenance alerts and confirmation of maintenance performed on a firearm without user input. In embodiments, the firearm usage monitoring system is configured to monitor round count and fatigue (e.g., heat flux and temperature buildup from discharge events) to determine when replacement of consumable or degradable components is likely. Beneficially, the firearm usage monitoring system may include supply chain information (e.g., deployed inventories or inventories at depot, resupply, or global resupply) to alert a resupply need or automatically resupply components. In embodiments, sensors on the firearm 104 are configured to monitor the noise, vibration, and harshness signature (NVH) to determine potential failure modes (e.g., NVH increase indicative of overheating event) and/or maintenance (e.g., NVH decrease indicative of component replacement or cleaning).

In embodiments, application 102 can use machine learning functionality (e.g., implemented as one or more machine learning modules of application 102) for training and/or inference. For example, the machine learning functionality of application 102 can be used to train application 102 based on information input to or output from one or more of modules 400-408. In another example, the machine learning functionality of application 102 can perform inference against information input to or output from one or more of modules 400-408. In yet another example, the machine learning functionality of application 102 can perform both the training and the inference described above.

In embodiments, the machine learning functionality of application 102 can include algorithms for determining recoil of firearms 104 and other behaviors or characteristics of system 100. For example, in embodiments, the machine learning functionality of application 102 includes identification algorithms to determine the complex motion associated with the discharge of a particular type of weapon. Embodiments may include feeding IMU data collected upon gripping, movement, and discharge of weapons into the machine learning functionality of application 102, for example, so that the machine learning functionality of application 102 can learn the parameters of each with respect to enough training events that it can rapidly and accurately identify new events based on new IMU data, such as collected in real time. In embodiments, the machine learning functionality of application 102 can be trained to learn to identify a threatening situation when the grip is engaged and the firearm is pointed, when the motion has increased indicating a pursuit, and when it is not in motion (e.g., placed in sleep mode). More complex patterns can be learned, such as determining what patterns tend to lead to accidents, dangerous incidents, higher quality training, and the like.

In an example of learning and utilization of a complex pattern, the machine learning functionality of application 102 can be used to determine firearm movements that may indicate a discharge from a firearm is imminent. In this example, the machine learning functionality of application 102 may, for example, detect motion and orientation data from sensors, such as from sensors on the firearm, sensors in a mesh network (e.g., including other firearms), or other assets (e.g., sensors within wearable devices, multi-modal sensors, etc.) of the human user of the firearm, which in turn may be used by the machine learning functionality of application 102 to facilitate a threat response. In embodiments, a threat response may include an automatic threat response, such as by one or more machines that are teamed with the human user of the firearm.

In another example of learning and utilization of a complex pattern, the machine learning functionality of application 102 can consider information stored within a knowledgebase or other data store (e.g., of database 124 or another source). For example, the information may relate to past engagements of users, whether or not involving the same users as are currently deployed within a given deployment location. The information may, for example, relate to one or more of a user skill level, firearm type, amount of ammunition used in engagements based on user skill level and/or firearm type, numbers of engagements of users, numbers of threats or otherwise of hostile combatants or weaponry engaged, number of users in a group which engaged a threat, number of firearms possessed per user of such a group, or the like.

In embodiments, the machine learning functionality of application 102 may determine combinations of data, such as motion, orientation and multi-modal sensor information that are indicative of imminent discharge of the firearm. The machine learning functionality of application 102 may also receive other inputs or generate information to combine with the sensor information, such as an indication of a firearm state. Firearm states may include combat states, training states, wartime states, peacetime states, civilian states, military states, first responder states, incident response states, emergency states, military contractor states, on-call states, and the like. Firearm states may be states from one or more than one firearm, for example, a set of firearms associated with a group of soldiers in the same section of a battlefield or a set of police officers in a region.

Combinations of data may allow the machine learning system to recognize, determine, classify, or predict information, such as about environments, objects, image content, whether a person is friendly or adversary, structures, landscapes, human and human gestures, facial indicators, voices, and locations, among others. Example combinations may include combinations of data from topography and physiological monitors, ISR, and structure recognition combinations, as well as combinations of human and machine physical states. Combinations of data may also be tactical combinations. Tactical combinations may combine data from devices on a battlefield, information about other sectors of fire, and the like and may include firearms and other weapons, vehicles, body armor and other wearable elements, and the like (collectively referred to herein as “battlefield of things”) devices including, for example, remotely operated units such as Common Remotely Operated Weapon Stations (CROWS) or other remote controlled firearms that may be configured with heavier calibers and higher lethality.

Objects that may be recognized by machine learning may include weapons, man-made objects, natural objects, and the like. Structures may include doors, stairs, walls, drop-offs, and the like. Human gestures may be detected, interpreted and understood by the machine learning system, while facial indicators could be indicators of mood, intent, and the like. The machine learning functionality of application 102 may use thresholds to assist with determination and recognition process. For example, combinations of data exceeding specified levels may provide a high degree of confidence that the recognition process is accurate.

In embodiments, the machine learning functionality of application 102, teamed with the human user of a firearm, may be operated autonomously, for example, in response to a determined intent of the human user of the firearm teamed with the machine learning functionality of application 102. The machine learning functionality of application 102 may be used to detect gestures of the human firearm user, for example, by capturing and analyzing data from sensors that detect conditions of the human, as well as firearm sensors. Sensors that detect conditions of the human may include multi-modal sensors and multi-modal wearable sensors. Gestures may include pointing gestures, threat identification gestures, target acquisition gestures, signaling gestures and the like.

In embodiments, conditions recognized by the machine learning functionality of application 102 or sensed in order to facilitate training of the machine learning functionality of application 102 may include conditions indicative of human states, such as stress and other physiological states. Conditions indicative of human states and captured by sensors for analysis by the firearm usage monitoring system may include heart rate conditions, for example, physical state relationships, blood pressure conditions, body temperature, galvanic skin response, heat flux, moisture, chemistry (for example glucose levels), muscle states and neurological states. Various biological conditions or biosensors may be indicative of threats, such as heart rate conditions, body temperature, moisture (such as indicating excessive perspiration), blood pressure, galvanic skin response, and others. Firearm sensors may be multi-modal firearm sensors and may include sensors that detect motion, orientation and discharge state of the firearm.

In embodiments, the FAMS implements machine learning algorithms to form a motion-analysis model. Training data may be collected and curated from a set of data recorded by the FUMS. The training set may be formed by cleaning, organizing, and labeling the data. The cleaning includes, for example, removing duplicative data, removing data that does not include the target action, and removing false-positive data. The organizing includes associating connected data from different sources. For example, the data may be structured such that sensor and other recorded information related to a single firearm is grouped together. The recorded information may be from the firearm and coupled devices or external sources where the firearm is identifiable (e.g., surveillance video). The labeling includes assigning meaningful tags to the grouped data, such as “discharge,” “no discharge,” “intentional,” “unintentional,” “misfire,” “jam,” “overheat,” “maintenance,” and other relevant labels. Information that is temporally proximate to the desired labels is also included within the training set. In some examples, the temporally proximate data includes data from 10 minutes, 5 minutes, 3 minutes, 1 minute, or 30 seconds prior to occurrence of the labeled event and data from 1 second, 5 seconds, 30 seconds, 1 minute, 3 minutes, or 5 minutes after the labeled event. The training set is then provided to a machine learning algorithm to form an analysis model that is configured to be used in real-time to predict events during usage of the firearm (e.g., discharge or jamming). It can be shown that with pre-determined time intervals after a discharge event based on the weapon and its ammuniton can provide a 99.7% identification rate. In embodiments, the training set is further used to form a training model configured to clean, organize, and/or label data to form one or more updated training sets. Beneficially, such models and training may be extended to learning and analysis of non-discharge patterns, such as determining movement patterns indicative of user conditions including abnormal gait, injuries, over encumbrance, cognitive impairment, and exhaustion.

Analyzing the data by application 102 (e.g., by firearm monitoring module 400, threat detection and analysis module 402, threat response module 404, GUI generation and display module 406, signal processing module 408, or another software module of application 102) may produce a set of candidate intents of the human firearm user or of another individual in proximity to the firearm user (such as where camera information, voice information, and the like is available). The candidate intents may, in embodiments, be combined with physical and operation machine state information to select one or more action plans. The machine teamed with the human user of the firearm may then execute and adjust the selected action plan based on updated intents, machine states, and environmental factors. Machine state factors may include physical factors, operational factors, orientation factors, tactile/force factors, and the like.

Environmental factors may include weather factors, location data factors, altitude factors, topography factors, video factors and the like. Weather factors may include temperature, humidity, wind speed, wind direction and precipitation factors, among others. Location data factors may include streaming data, as well as data acquired from geolocation services (e.g., using a global navigation satellite system, for example, GPS, GLONASS, BDS, Galileo, or the like) and beacons, connection points or the like, as well as through cellular. Topography factors may include data and observations, while video factors may include both live and archived video feeds. The action plan may also be formed from a set of predetermined action steps, for example, action steps that each satisfy human teaming criteria selected to coordinate with at least one of the candidate intents. Actions steps may also be arranged into action plans by sets of rules.

In embodiments, the machine learning functionality of application 102 may be trained to recognize and distinguish between non-combat activities and combat activities. For example, the machine learning functionality of application 102 may be trained to recognize celebratory situations such as dancing scenarios and first bump scenarios separate from other human machine learning scenarios in much more threatening and complex environments. In other examples, the machine learning functionality of application 102 may be trained to distinguish between celebratory fire and threatening fire. By way of these examples, the machine learning functionality of application 102 may learn the movements of the users of system 100, for example, by translating and detecting their motion and comparing the identified motions in context with a deployment location in comparison with trained examples, confidence in those examples, corrections to past activity, and the like to assist, anticipate, protect, support, and facilitate the needs of the users in the theater more quickly and more safely.

In embodiments, the machine learning functionality of application 102 may manage a coordinated team of human users of firearms and at least one machine. In this embodiment, the machine learning functionality of application 102 may receive as inputs at least one sensory input about a human and at least one sensory input about a machine that is part of the team coordinated with the human. The machine learning functionality of application 102 may then automatically, using machine learning, determine the occurrence of an event, such as a pre-discharge event, a discharge event, a post-discharge event (including a post discharge adverse event) or other events. Post discharge adverse events may include injury to the human or occurrence of damage to the machine, such as subsequent to the detection of a firearm discharge event by the system.

In embodiments, application 102 (e.g., using firearm monitoring module 400 or another module) may track with a global navigation satellite system (e.g., GPS). In embodiments, application 102 includes network reporting facility, such as through a Bluetooth® or other short- or long-range discharge report to a centralized server.

The functions of the system sub-components shown in FIG. 4 can be implemented in digital electronic circuitry, in computer software, firmware or hardware. The techniques can be implemented using one or more computer program products. Programmable processors and computers can be packaged or included in mobile devices. The processes may be performed by one or more programmable processors and by one or more set of programmable logic circuitry. General and special purpose computing and storage devices can be interconnected through communication networks.

Some embodiments include electronic components, such as microprocessors, storage and memory that store computer program instructions in a machine-readable or computer-readable medium (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media). The computer-readable media may store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations. Examples of computer programs or computer code include one or more of: source code; object code; machine code, such as is produced by a compiler; or files including higher-level code that are executed by a computer, an electronic component, or a microprocessor using an interpreter.

Referring to FIG. 5, inputs 500, processing options 502, and outputs 504 related to threat detection and analysis functionality of system 100 are shown by example. Inputs 500, processing options 502, and outputs 504 may, for example, refer to functionality of threat detection and analysis module 402. Inputs 500 shown by example include sensors 506, knowledgebase 508, and machine learning models 510. Processing options 502 shown by example include firearm discharge detection 512, firearm orientation change detection 514, asset motion detection 516, and non-user motion detection 518. Outputs 504 shown by example include no threat 520, detected threat 522, and threat severity 524. One or more inputs 500 may be used to determine one or more outputs 504 using one or more processing options 502.

Referring to FIGS. 6-10, example GUIs of application 102 are shown. The GUIs shown in FIGS. 6-10 may, for example, be GUIs generated and displayed using GUI generation and display module 406. In FIG. 6, top-down geographic view 600 representing a satellite-view visualization of a deployment location is shown. Users 602A-D are shown at particular locations within the deployment location, for example, based on geolocation sensors included within or coupled to firearms or other mobile assets of users 602A-D. Cones of fire 604A-D are shown as projecting outwardly from respective ones of users 602A-D in directions in which firearms of those ones of users 602A-D are pointing. In particular, cones of fire 604A-D are shown in FIG. 6 as non-overlapping. As will be understood, depending on the orientations of firearms of users visually represented within top-down geographic view 600, cones of fire may be non-overlapping, partially overlapping, or wholly overlapping. The greater the overlap and the greater numbers of overlap indicate a higher likelihood of a present threat since the firearms are being aimed at a common location. Top-down geographic view 600 is populated with icons showing exact locations of firearms 104. In embodiments, the icons can include all personnel and/or status information for the firearms. In embodiments, the icons can include a button or other user interface element used to zoom in on the location of a firearm (e.g., to drill down on data associated with the firearm).

Also in FIG. 6, three-dimensional firearm orientation view 606, two-dimensional recoil tracking view 608, and user body camera feed view 610 are shown. Three-dimensional firearm orientation view 606 represents a visualization of a firearm of a user (e.g., one of users 602A-D) with real-time updates based on the specific orientation of the firearm. Two-dimensional recoil tracking view 608 represents a visualization showing real-time changes over time of an orientation of a barrel or other portion of a firearm based on recoil resulting from firing the firearm. In embodiments, the visualization showing real-time changes over time of an orientation of a barrel or other portion of a firearm can also be based on other displaying motions such as transitioning to different targets, over or under adjustment for target transitions, pre-shot and post-shot movement or jitter. User body camera feed view 610 represents a real-time video stream from a camera or other imaging device worn by a user or otherwise included within or coupled to an asset on a user. In embodiments, one or more of three-dimensional firearm orientation view 606, two-dimensional recoil tracking view 608, or user body camera feed view 610 may not be included in the GUI which includes top-down geographic view 600. In embodiments, the GUI which includes top-down geographic view 600 may include views other than three-dimensional firearm orientation view 606, two-dimensional recoil tracking view 608, and user body camera feed view 610.

In embodiments, top-down geographic view 600 or a GUI which includes top-down geographic view 600 can display notifications providing details about one or more of users 602A-D, cones of fire 604A-D, or information relating to one or more of views 606, 608, or 610/ For example, the notifications can indicate information regarding movements of a firearm relative to a user thereof, for example, as “weapon aimed,” “weapon holstered,” “weapon separated from the user,” and the like.

In embodiments, information about some or all of users 602A-D may be displayed in the GUI. The information may, for example, include or relate to names, ranks, years of service, skill levels, weapons present, ammunition stocks present, numbers of shots fired since arrival at the location shown, health information, threat engagement information, or the like, or a combination thereof. In some such embodiments, the information may be displayed in the GUI by default. In other such embodiments, the information may be displayed in response to an interaction by a remote user of the GUI. For example, information for a given user may be displayed as a prompt in response to the remote dashboard user selecting that given user within the GUI.

In embodiments, information representative of sensor measurements recorded using some or all of the sensors within the deployment location may be displayed in the GUI. The information may, for example, include or relate to sensor types, measurements, flags which indicate that the measurements represent actionable information (e.g., a trigger sensor measurement indicates that the user's finger is on the trigger and/or that the trigger has been toggled, such that a threat engagement is underway), or the like, or a combination thereof. In some such embodiments, the information may be displayed in the GUI by default. In other such embodiments, the information may be displayed in response to an interaction by a remote user of the GUI. For example, information for a given firearm within the deployment location may be displayed as a prompt in response to the remote user of the GUI selecting that given firearm or the user thereof within the GUI. In embodiments, some or all of the projections or orientation views can be shown in three-dimensional renderings.

In FIG. 7, top-down geographic view 600 of FIG. 6 is shown. Here, the cones for the firearms of the users visually represented in the top-down geographic view are shown as coalescing. For example, whereas the positions and orientations of cones of fire 604A-B and corresponding users 602A-B in FIG. 6 were based on first sensor information collected at a first time, the positions and orientations of cones of fire 604A-B and corresponding users 602A-B in FIG. 7 are based on second sensor information collected at a second time after the first time. The GUI including top-down geographic view 600 as shown in FIG. 7 has thus been updated as compared to how that GUI appears in FIG. 6. The coalescence (e.g., partial or whole overlap) of multiple one of cones of fire 604A-B is used to detect a threat 700. For example, the coalescence of the multiple cones of fire 604A-B may indicate that multiple users 602A-B associated with those cones of fire 604A-B are actively drawing their firearms on, or otherwise towards, threat 700. In embodiments, a coalescence of cones of fire can be visually represented in top-down geographic view 600 by changing an appearance of the coalescing cones. For example, coalesced cones can be changed to visually appear in a different color (e.g., from white to red), with shading, with different border line thickness, or in another emphasizing manner. In embodiments, a severity of a detected threat may be visually represented in top-down geographic view 600. For example, a higher severity may be visually represented at the icon of threat 700, for example, by changing a color, shading, border thickness, or other aspect of the icon of threat 700.

In FIG. 8, the top-down geographic view 600 of FIG. 6 is again shown, but with visual prompts 800 and 802 representing information relating to users 602A and 602B, respectively, and visual prompt 804 representing information relating to threat 700. Prompt 800 visually represents within top-down geographic view 600 that user 602A is named S. Smith, is skill level ten, and has low ammunition supply. Prompt 802 visually represents within top-down geographic view 600 that user 602B is named M. Matthews, is skill level five, and has low ammunition supply. Prompt 804 visually represents within top-down geographic view 600 that threat 700 is an actively engaged threat and includes four or more hostiles. In embodiments, one or more of visual prompts 800, 802, or 804 is automatically shown in the GUI which includes top-down geographic view 600. In embodiments, one or more of visual prompts 800, 802, or 804 is shown in the GUI which includes top-down geographic view 600 in response to selection by a user of application 102 (e.g., a remote support user) of one or more of user 602A, user 602B, or hostile 700 within top-down geographic view 600. In embodiments, one or more of visual prompts 800, 802, or 804 may be visually represented within the GUI which includes top-down geographic view 600, but outside of top-down geographic view 600. For example, a separate view of that GUI may present text-based or other information about users 602A-B and/or about threat 700.

In FIG. 9, a top-down geographic view 900 different from top-down geographic view 600 is shown. Top-down geographic view 900 represents an overhead visualization of multiple users 902 engaged in live fire 904. In embodiments, top-down geographic view 900 displays information relating to one or more of sectors of fire 906, threat locations 908, weapon statuses 910, fellow and partner forces 912, or ammunition statuses 914. In embodiments, sectors of fire 906 can show the area being attacked. By way of this example, a cone of other suitable shapes can be depicted adjacent to the weapon to show the area to which live fire is directed. It will be appreciated that movements of the weapon and movements of users 902 motivate showing sectors of fire 906 in cone-like shapes rather than lines. In doing so, these sectors of fire 906 can overlay on each other when there is multiple live fire from fellow and partner forces 912 and their intersections can identify or facilitate in the identification of threat locations 908. In embodiments, weapon statuses 910 and ammunition statuses 914 can indicate whether ammunition is running low, time until exhaustion of ammunition, jammed weapon, and the like. In embodiments, top-down geographic view 900 may visually represent one or more of sectors of fire 906, threat locations 908, weapon statuses 910, fellow and partner forces 912, or ammunition statuses 914 using icons. In some such embodiments, top-down geographic view 900 or a GUI which includes top-down geographic view 900 may include a legend of those icons. In embodiments, ammunition statuses 914 may be visually represented in different ways based on the status. For example, an ammunition status indicative of the user having a sufficient ammunition inventory may be shown by green ammunition status 914A. In another example, an ammunition status indicative of the user having an ammunition inventory which is running low (e.g., lower than a threshold, which may be configurable or defined based on the firearm type or otherwise) may be shown by yellow ammunition status 914B. In yet another example, an ammunition status indicative of the user having an ammunition inventory which is depleted or nearly depleted may be shown by red ammunition status 914C.

In FIG. 10, first dashboard view 1000 representing a visualization of an example of a first page of a dashboard of application 102 is shown. Application front-end includes pages corresponding to tabs 1002, 1004, 1006, and 1008. Tab 1002 corresponds to a main page (e.g., the first page shown in FIG. 10), Tab 1004 corresponds to a maps page (e.g., for displaying a GUI with top-down geographic view 600 shown in any of FIGS. 6-9). Tab 1006 corresponds to a threats page (e.g., described below with respect to FIG. 11). Tab 1008 corresponds to a knowledgebase (e.g., representing data stored in database 124). First dashboard view 1000 includes user interface elements 1010, 1012, and 1014 for reporting information about system 100. Element 1010 reports a list of users currently deployed within a deployment location (e.g., users 60A-B). Element 1012 reports a list of communication systems in use. Element 1014 reports a list of alerts for the attention of a user of the dashboard.

In embodiments, as in the example shown in FIG. 10, the information reported using elements 1010, 1012, and 1014 is organized by groups of users. However, in embodiments, such information may be organized by individual user or in another manner. In embodiments, element 1012 may include status information for connections between application 102 and connection points deployed within deployment locations.

In FIG. 11, second dashboard view 1100 representing a visualization of an example of a second page of the dashboard of application 102 is shown. In the example shown, the second page as shown in FIG. 11 is the threats page corresponding to tab 1006. Second dashboard view 1100 includes user interface elements 1102, 1104, 1106, 1108, and 1110. Elements 1102 and 1104 are used for reporting information about system 100. Elements 1106, 1108, and 1110 are interactive elements which can be toggled (e.g., clicked) by a user of the dashboard. Element 1102 reports a list of detected threats, including information about users affected by the threats, predictions of what the threats are, and conditions faced by the users in addressing the threats. Element 1104 reports a list of automated responses taken based on the detected threats, including methods of performance and estimated times for performance. Element 1106 is a button allowing a user of the dashboard to send an alert relating to the threats reported in element 1102 and/or the responses reported in element 1104, for example, to users deployed within the deployment location related to the detected threats or to others (e.g., remote managers or other personnel). Element 1108 is a button allowing a user of the dashboard to modify an automated response reported in element 1104, for example, if he or she believes different support would be useful or based on communications from the users engaged in addressing the threat (e.g., after the detection of the threat). Element 1110 is a button allowing a user of the dashboard to cancel an automated response reported in element 1104, for example, if he or she believes support is no longer necessary or based on communications from the users engaged in addressing the threat (e.g., after the detection of the threat and/or after a portion of the automated response is performed).

In embodiments, threats and responses reported within second dashboard view 1100 may correspond to any of a number of user groups registered with system 100. In embodiments, threats and responses reported within second dashboard view 1100 may correspond to individual groups. In embodiments, threats and responses reported within second dashboard view 1100 may correspond to individual users. In embodiments, the responses reported within element 1104 are not automated. In such embodiments, the second dashboard view 1100 includes a user interface element for the user to interact with to verify or otherwise approve a proposed response.

In embodiments, the number and/or types of elements included within a GUI or within a view of a GUI (e.g., a GUI as shown in any of FIGS. 6-11) can be controlled based on the type of GUI or the type of view within the GUI. For example, when top-down geographic view 600 becomes too dense with overlapping icons, the GUI which includes top-down geographic view 600 may automatically update to visually represent a new icon symbolizing multiple units within the area shown. For example, referring to FIG. 6, users 602A-B may be combined into a user group and visually represented using a single icon rather than the two separate icons shown.

In embodiments, the dashboard of application 102 may include GUIs and/or views other than what is shown in FIGS. 10 and 11. For example, the dashboard of application 102 may include communication and mapping features, such as to track the location of all weapons in real-time, to highlight relevant events (such as weapons being gripped, weapons being raised, or weapons that have been discharged). In some such embodiments, the dashboard of application 102 may include the GUIs shown in any of FIGS. 6-9 (e.g., accessible via tab 1004 or another tab or user interface element). In another example, the dashboard may provide access information from other systems, such as making available camera views, such as ones that are triggered by activation of body cameras or on-site cameras from within the deployment location or from the dashboard. In embodiments, the dashboard includes a GUI and/or view for separating users into groups/echelons with designated permissions. For example, the dashboard may include different GUIs and/or views for each of one or more of ground units, officers, military personnel, an investigator/compliance officer, and the like.

Referring to FIG. 12, a mesh network usable with system 100 is shown. The mesh network is made up of a number of network devices, including connection points 1200 and 1202, either of which may, for example, be connection point 116. The mesh network is used by a number of users (e.g., some or all of users 1204, 1206, 1208, 1210, and 1212) to communicate information (e.g., sensor measurements) recorded for those users to the server device 112 for processing using application 102. In embodiments, some of the users, such as users 1204, 1206, and 1208, have mobile computing devices 1214, 1216, and 1218, respectively, which operate to extend the mesh network when in range of connection point 1200 or connection point 1202.

Depending on their proximity to connection point 1200 or to connection point 1202, devices associated with users 1204, 1206, 1208, 1210, and 1212 may or may not be able to connect to connection point 1200 or to connection point 1202. In the example shown, users 1208 and 1210 are standing in the range of connection point 1200 and therefore devices of users 1208 and 1210 may be able to connect to connection point 1200. Similarly, user 1210 is shown as standing in the range of connection point 1202 and the devices of user 1210 may be able to connect to connection point 1202. In embodiments, the range of the mesh network created by connection points 1200 and 1202 may be extended by mobile computing devices 1214, 1216, and 1218. For example, in such an embodiment, users 1204 and 1206 would also be within the range of connection point 1200 and therefore devices of users 1204 and 1206 may be able to connect to connection point 1200. However, because user 1212 is not within the range of either connection point 1200 or connection point 1202, and because user 1212 does not have a mobile computing device to extend the mesh network created thereby, devices associated with user 1212 are unable to connect to either connection point 1200 or connection 1202 while user 1212 remains at the location shown.

In embodiments, the mesh network may be a self-organizing and fluid mesh network that organizes and reorganizes itself based on specified data, including data filtered or weighted based on specified criteria, and/or the dynamic detection of other devices, for example with a geographic perimeter. Other devices may include deployable mesh network hubs (also known as “pucks”), beacons, wireless connection points, such as Wi-Fi connection points, lighting systems, cameras, and the like, each of which may be connection point 1200 or connection point 1202 or mobile computing device 1214, 1216, or 1218. The mesh network may also include asset management systems, crowdsourced communications, frequency scanning networking systems, cellular mesh networking systems, and/or other systems.

In embodiments, devices on the mesh network may adjust location information based on the relative movement of each other within the mesh network. In embodiments, the relative movement of devices may be reported by other devices within the mesh network over the mesh network, such as to the self-disposing devices. The relative movement of other devices may also be derived from IMUs disposed with the other devices within the mesh network.

Relative movement information may include speed, velocity, acceleration or position information, and/or event identification information. Such information may include threat identification information, shot accuracy information and the like. Event identification information may include weapon information, information indicating a person is in an unauthorized area, soldier maneuver information (e.g., speed, direction, activity, or the like), in-position information (such as for an individual or a device), rate-of-fire information, alternating fire information, maintenance required information, stoppage event information, ammunition expenditure information, fight or struggle information and the like. In embodiments, authentication information may be received from RF identification (RFID) implants, for example, implanted in the person.

In embodiments, the relative movement, such as among devices in the mesh network like firearms and other equipment may be provided relative to at least one geographic location, such as through the use of data from the IMUs or from one or more other data sources. In embodiments, location may relate to relative locations of one or more other firearms or other devices connected to the mesh network, such as the distance, direction, and/or movement of one or more other firearms or other devices relative to a given one. In such embodiments, geographic location and movement information, whether relating to a location or to another firearm or other device may be communicated to a given firearm or other systems of an individual handling a firearm over the mesh network. In embodiments, the geographic location may be an underground geographic location, where other geographic location detecting signals, such as GPS are not available. In embodiments, a combination of geographic location and relative location may be understood by the system, such as where at least one member of a mesh network has a detectable location (such as by GPS signal) and other members have locations that are determined relative to the known member, such as by detecting motion through the IMU or other non-GPS systems. It may be appreciated from these embodiments that using data from the IMU on the mesh network may allow the firearm usage monitoring system to provide discharge location information in geographic locations that may not otherwise be covered by geographic location detecting signals.

In embodiments, the mesh network connection may be a wireless mesh network connection and may be configured based on radio communication frequencies. In some situations, radio communication frequencies may be subject to interference or jamming, either intentionally or otherwise, making communication difficult or impossible when attempting to establish a connection over the compromised frequency. Interference or jamming may include radio frequency interference or jamming, optical jamming, noise, and the like. Because of the risk of jamming, and because communication reliability may be critical for the user of system 100, the firearm usage monitoring system may detect such jamming of one or more frequencies and automatically adjust the frequency of the mesh network to avoid using the compromised frequency, such as by selecting a frequency not currently subject to interference or jamming. System 100 may then establish a wireless mesh network connection with another device using the selected frequency. Jamming or interference detection may include detecting attempted signal interception and scrambling transmitted information to avoid the detected signal interception.

In embodiments, system 100 may determine discharge information related to the firing of a firearm of one of users 1204, 1206, 1208, 1210, or 1212 connected to the mesh network. The discharge information may include discharge location, direction of the discharge, a motion path of the firearm preceding discharge and/or orientation of the firearm at discharge. Orientation information may be provided by the IMU of the firearm and may include enemy area location and size information, unsafe act information, line of fire information, shift fire information, sectors of fire information, interlocking fire information, 360 perimeter security information and the like.

The discharge information may be determined from motion and location information, such as provided by devices connected to the mesh network. For example, the discharge location may be determined from geographic location data of one or more firearms connected to the mesh network and may use relative movement data provided by the other devices connected to the mesh network, for example by analyzing relative movement data that is based on resident IMU data from other firearms connected to the mesh network.

In embodiments, system 100 may perform over-the-air updates for hardware and/or software within the range of connection points 1200 and 1202 using connection points 1200 and 1202. In embodiments, devices within range of connection points 1200 and 1202 may be charged by wireless charging using connection points 1200 and 1202 as the power sources. In embodiments, connection points 1200 and 1202 may record data (such as IMU data) from devices within range thereof when those devices are in active or inactive modes (such as to flash memory) and may enable other modes, such as a sleep/hibernation mode.

In embodiments, system 100 may function in active modes, sleep modes and/or hibernation modes. In the active mode, a device (e.g., components of a firearm, a computing device such as devices 1214, 1216, 1218, or the like, or a device of another asset) may be in full power mode, such as using power for collecting readings from the IMU and GPS and transmitting them via a local protocol like BLE to an edge device. In embodiments, data can be sent in this format at relatively high data rates, such as at 30 messages/second, 50 messages/second, 100 messages/second, or the like. A sample string may include AB-FC-22-CC-B3-00-00-00-00-00-00-00-00-00-00-00-00-5E-89-5A-00-71-3E-E6-C0-FA-18-9C-00-00-20-75-3F-00-80-52-3E-00-00-19-3E-00-00-64-40-67-66-00-C1-34-33-6B-00-01-BA. The guide may be as follows: AB (header), FC-22-CC-B3-00 (millisecond timestamp), 00-00-00-00 (latitude), 00-00-00-00 (longitude), 00-00 (altitude in meters), 00 (horizontal accuracy in meters), 5E-89-5A-C0 (gyro x), 71-3E-E6-C0 (gyro y), FA-18-9C-C0 (gyro z), 00-20-75-3F (accel x), 00-80-52-3E (accel y), 00-00-19-3E (accel z), 00-00-B4-40 (mag x), 67-66-00-CI (mag y), 34-33-6B-C0 (mag z), 01 (unit status), BA (footer). A millisecond timestamp may be used, such as in a modified UNIX timestamp, e.g., for milliseconds after 01-01-16. In embodiments, if BLE is unavailable or a message is not sent, this may be stored in the flash memory to be sent when the device enters sleep mode. The active mode may, for example, be triggered when force is applied to a force sensor. Depending on the configuration, a device may remain in the active mode for a specified time, such as two minutes after the force is no longer applied, for five minutes, for ten minutes, or the like. This timer may be reset when force is reapplied.

In embodiments, devices connected within range of connection point 1200 and/or connection point 1202 may also power down into a “sleep” mode, such as when there is no longer force applied to the device and the timer has gone down (indicating expiration of active mode). In such a sleep mode, one message may be sent at a defined period, such as once per second, such as containing the timestamp, location data, and current orientation data. A GPS module or like component of the device may enter an ATP (adaptive trickle power) state where it cycles between full power and ATP to minimize power consumption while maintaining a fix on its location. In embodiments, a location fix may be maintained consistently, regardless of power mode. In embodiments, the IMU may be polled at a low rate, such as to monitor movement. If no movement is sensed for a given time, such as five minutes, then the unit may go into another even lower power mode, referred to herein as a hibernation mode. In some such embodiments, connection points 1200 and 1202 may monitor and selectively control changes in modes of devices, for example, based on timestamps indicating connections between the devices and ones of connection points 1200 and 1202, based on signals received by connection points 1200 and/or 1202 from ones of the devices, and/or based on other criteria.

In such a hibernation mode, a device may continue to send messages (e.g., one per second), such as containing the timestamp, location data, and current orientation data. The GPS module may enter hibernation where it consumes, for example, under 1 mA of power. The IMU may still be polled at a low rate. If movement exceeds a certain threshold, the unit may go into sleep mode and the GPS module may wake up to maintain a location fix. This mode may consume, for example, under 7 mAh.

In embodiments, the firearm 104 further includes sensors 118, a communication interface, a buffer, and a controller.

The communication interface is configured to pass data between devices or components coupled thereto, such as the firearm 104 and a connected device (e.g., wearable devices 106, stationary device 108, connection point 116). The communication interface may include a suitable number of conductors, connectors, transmitters, and/or receivers to achieve desired data throughput and device connectivity. The communication interface may communicate with devices and components through wired and/or wireless telecommunication protocols, such as ethernet, transmission control protocol (TCP), Internet protocol (IP), power line communication, Wi-Fi, Bluetooth®, infrared, radio frequency (RF), general packet radio services (GPRS), global system for mobile communications (GSM), frequency-division multiple access (FDMA), code-division multiple access (CDMA), evolution-data optimized (EVDO), Z-Wave, ZigBee, 3G, 4G, 5G, another protocol, or a combination thereof.

The buffer is configured to temporarily store data received from, for example, sensors 1302 prior to transmission via a signal medium or writing to a storage medium. The buffer may be a suitable physical or virtual medium. The buffer may operate in a suitable manner, such as by implementing a first-in, first-out queue where the oldest data is the first data read out of the buffer for transmission or storage. In examples, the oldest data or subsets of data in the buffer may be overwritten by the newest data being read into the buffer. Beneficially, the buffer may provide for reduced power consumption based on implementation by optimizing compute time and transmission payload size. The buffer may be a static allocation of a suitable size or may be dynamically allocated. Beneficially, dynamic allocation allows the firearm usage monitoring system 2800 to adjust the buffer allocation based on or in response to triggering events or predetermined conditions, which thereby improves operation of the firearm usage monitoring system 2800 by optimizing resource allocation. For example, if long-term storage resources onboard the firearm 102 are approaching capacity, the size of temporary storage in the buffer may be reduced and the freed space may be used for long-term storage until connection is reestablished or the long-term-storage data is further processed and/or reduced in size.

The controller is configured to run application software that controls operation of connected components. The terms “controller,” “control module,” “control,” “control unit,” “processor” and similar terms mean Application Specific Integrated Circuit(s) (ASIC), electronic circuit(s), central processing unit(s) (preferably microprocessor(s)) and associated memory and storage (read only, programmable read only, random access, hard drive, etc.) executing one or more software or firmware programs or routines, combinational logic circuit(s), sequential logic circuit(s), input/output circuit(s) and devices, appropriate signal conditioning and buffer circuitry, other components, combinations thereof, and the like to provide the described functionality. “Software,” “firmware,” “programs,” “instructions,” “routines,” “code,” “algorithms” and similar terms mean controller executable instruction sets including calibrations and look-up tables. In some aspects, the controller includes a central processing unit (CPU).

To appropriately control operation of coupled components, the controller may include a processor (e.g., a microprocessor) and at least one memory, at least some of which is tangible and non-transitory. The memory can store controller-executable instruction sets, and the processor can execute the controller executable instruction sets stored in the memory. The memory may be recordable medium that participates in providing computer-readable data or process instructions.

The recordable medium may take many forms, including but not limited to non-volatile media and volatile media. Non-volatile media for the controller may include, for example, optical or magnetic disks and other persistent memory. Volatile media may include, for example, dynamic random-access memory (DRAM), which may constitute a main memory. The memory of the controller may also include a solid-state medium, a floppy disk, a flexible disk, hard disk, magnetic tape, another magnetic medium, a CD-ROM, DVD, another optical medium, combinations thereof, and the like.

The controller-executable instruction sets may be transmitted by one or more transmission media, including coaxial cables, copper wire or traces, fiber optics, combinations thereof, and the like. For example, the transmission media may include a system bus that couples two or more components of the firearm monitoring system 3500, such as the controller, the communication interface, and the sensors.

The controller can be configured or equipped with other required computer hardware, such as a high-speed clock, requisite Analog-to-Digital (ND) and/or Digital-to-Analog (D/A) circuitry, input/output circuitry and devices (I/O), as well as appropriate signal conditioning and/or buffer circuitry. Any algorithms required by the controller or accessible thereby may be stored in the memory and automatically executed to provide the required functionality for the relevant components, such as the buffer, the communication interface, and the sensors.

In embodiments, the application software is configured to operate the firearm 104 and/or components thereof in a plurality of states, as well as being configured to detect conditions related to such operation. The plurality of states may include, for example, one or more firearm-sleep states, one or more cloud-constrained states, one or more situational states, combinations thereof, and the like.

The one or more sleep states are configured to reduce resource impact of the firearm 104. The resource impact may include, for example, power usage, data storage, and/or data transfer. The sleep states may include, for example, a storage state, a hibernation state, a standby state, a hybrid-standby state, combinations thereof, and the like.

Beneficially, the storage state may provide reduced power consumption and a reduced resource footprint while the firearm 104 is being stored. For example, operation of components of the firearm usage monitoring system 2800 disposed on or attachable to the firearm 104 may be eliminated or significantly reduced while those components are in storage.

In aspects, the controller is configured to power down components of the firearm 104 such as sensors 1302 and storage media, wake, in response to fulfilment of a predetermined condition, a location sensor of the firearm 104, and determine a location of the firearm 104. In response to determining the firearm 104 is still in the storage location, the controller is configured to return to the powered-down state. In response to determining the firearm 104 is outside the storage location, the controller is configured to operate the firearm 104 in a data-acquiring state, such as a situational state. Optionally, the firearm usage monitoring system 2800, in response to determining the firearm 104 is still in the storage location, may further acquire data, record acquired data to a long-term storage medium onboard, transmit acquired data to a remote device prior to returning to the powered-down state, receive data from a remote device, combinations thereof, and the like.

The predetermined condition may be, for example, a predetermined period of time elapsing, detection of a mechanical event such as a switch actuation, combinations thereof, and the like. In aspects, the period of time may be a day, a week, a month. In aspects, the interval of subsequent periods of time may be increased. For example, the period of time may be a day until the firearm 104 has remained in the storage state for a week in the sleep state, then the period of time may be increased to a wake-up every week until the firearm 104 has remained in the storage state for a month, and then the period of time may be increased to a wake-up every month.

In aspects, the storage state optimizes power consumption during long-term non-use of the firearm 104 while also providing for inventory tracking and/or management of the firearm 104. Optionally, the storage state may also provide security features for the firearms 104, such as inhibiting usage of the firearm 104 and preventing firearm 104 trafficking.

Beneficially, the hybrid standby state may provide for switching from the standby state to the hibernate state without additional resource overhead.

In aspects, the controller is configured to power down components of the firearm 104, and, while entering the sleep mode, write relevant data to non-volatile memory. The controller may be further configured to monitor a condition of the firearm 104, wait a predetermined period of time, and switch, in response to the predetermined condition not being fulfilled at an end of the predetermined period of time, to a hibernation mode without writing previously acquired data to non-volatile memory. What is more, if a timestamp for entering hibernation is desired, the firearm usage monitoring system 2800 does not need to write such a time upon entering the hibernation state. Instead, the firearm usage monitoring system 2800 may write the timestamp while or after exiting the hibernation mode because the predetermined period of time is known. Beneficially, this preserves data fidelity while further reducing resources required.

The predetermined condition may be, for example, a movement sensor detecting movement above a predetermined threshold, actuation of a component of the firearm 104, geospatial movement of the firearm, combinations thereof, and the like.

Notably, the hybrid standby mode reduces resource requirements because the firearm usage monitoring system 2800 does not need to expend resources to write previously acquired data when entering hibernation mode from sleep mode. For example, the firearm 104 may proceed to shut down relevant components without establishing further network communication or expending power to prepare components of the firearm 104 for a data write.

The one or more cloud-constrained states are configured to maintain data fidelity and/or situational awareness while network connections or resources are limited or unavailable. The network conditions or resources may include, for example, communication bandwidth or interference, communication denial, resource constraint imposed by a quality-of-service goal, combinations thereof, and the like. The cloud-constrained states may include, for example, a network-constrained state, a network-blocked state, a cloud-compute-constrained state, combinations thereof, and the like.

Beneficially, the network-constrained state may optimize data transfer from the firearm 104 through the network to minimize overall bandwidth required when connectivity issues are caused by terrain, physical distance from a connection point, interposing structures, combinations thereof, and the like.

In aspects, the controller is configured to detect network-based communication constraint and switch, in response to detecting the network-based communication constraint, the firearm 104 to a network-constrained state including one or more of storing acquired data to non-volatile memory on the firearm, processing acquired data to reduce overall payload for delivery to the remote server, and adjusting communication intervals to optimize payload size for communication (e.g., increased packet size or minimized padding). The network-based communication constraint may be detected, for example, through signal loss, packet losses, latency, combinations thereof, and the like.

Increasing memory allocation for storing data acquired by the sensors may include, for example, a dynamic allocation or static allocation. The allocated block sizes may be determined based on sampling intervals of the sensors, predicted usage of the firearm 104, detected bandwidth of the network connection, combinations thereof, and the like. Beneficially, this preserves data fidelity while maintaining high-speed, low power access (e.g., values do not need to be read from storage into memory) for rapid transmission when bandwidth is available again. This further increases the longevity of flash memory on the device.

Storing the acquired data to non-volatile memory may include, for example, writing acquired data to flash memory. Beneficially, storing the acquired data to non-volatile memory maintains data fidelity during network-constrained operation.

Reducing the data to be communicated may include, for example, applying an algorithm to provide processed situational data in a smaller overall size. For example, the algorithm may filter acquired data through suitable methods such as selecting a desired timestep that is greater than the acquisition timestep and preparing for transmission only data that was acquired at the desired timestep, data of the greatest and/or least magnitude during the desired time interval, an average value (such as the mean, median, or mode) for the desired time interval, combinations thereof and the like. Beneficially, reducing the data to be communicated provides for continued situational awareness while optimizing traffic through the network from both the firearm 104 and similarly connected firearms 104. Further, connection overhead may be reduced, for example, by reducing both request and response packets and, particularly the number of packets that must be resent.

Adjusting communication intervals may include, for example, increasing the intervals for communication to an upstream connected device. The time interval may be adjusted based on data collection rate of the device, encryption protocol, communication protocol, frame size at the bottlenecked communication, combinations thereof, and the like. Beneficially, one or more of these values may be used to determine the communication interval which optimizes communication via, for example, increasing payload size and minimizing padding and message overhead (e.g., headers and footers needed to communicate the same amount of data) such that fewer packets are being communicated from the firearm 104.

Optionally network-constrained state may further include sending a message to the remote server to communicate the network-constrained state. Beneficially, the message promotes situational awareness of users and commanders because both groups may be made aware of the network-constrained state. When both groups are aware of the network-constrained state, alternative methods of communication (e.g., via an alternate frequency and/or communication media). Moreover, commanders may coordinate with additional units to support or communicate with the network-constrained user or users.

Additionally, or alternatively, the network-constrained state may further include acquiring high-priority situational data and communicating the high-priority situational data to the remote server in substantially real time. The high-priority situational data is communicated to the remote server while substantially all data acquired prior to and after acquisition of the high-priority situational data is acquired, stored, and/or processed in accordance with standard operation of the firearm 104 in the network-constrained state.

The high-priority information may include, for example, a discharge of the firearm, actuation of a user-input mechanism (e.g., button, switch, or toggle), detecting a raising and/or aiming of the firearm 104, combinations thereof, and the like.

Beneficially, the network-blocked state may provide situational awareness for commanders and users, as well as maintaining recording and/or reporting ability of firearms 104 within the network-blocked location.

In aspects, the controller is configured to detect a network-blocked condition and switch, in response to detecting the network-blocked condition, the firearm 104 to a network-blocked state including one or more of storing acquired data to non-volatile memory on the firearm, processing acquired data to reduce the storage footprint, establishing non-blocked modes of communication to the remote server, and tracking geospatial location and/or orientation using non-wireless mechanisms.

Network-blocked locations are locations where network communication is substantially interfered with or denied.

Network communications interference may occur via unintentional interruption or disruption of signals for one or more forms of wireless transmissions (e.g., wireless communication or GPS signals). For example, structures, natural formations and phenomena, or presence of other communicating devices may incidentally interrupt wireless communication to or from devices at a particular location.

Denial of network communications may occur via deliberate interruption or disruption of signals for one or more forms of wireless transmissions. For example, an actor opposing the user, such as a state, criminal actor, or hostile force, may deny network communication through active measures or passive measures.

Active measures include, for example, signal jamming or signal capturing. Signal jamming may occur, for example, by one or more devices emitting signals at one or more desired wavelengths to decrease the signal-to-noise ratio at or near those wavelengths within the area of effect. Signal capturing may occur, for example, by one or more devices configured to intercept signals emitted from a device (e.g., a stingray). The intercepted signals may be re-emitted by the device or sunk.

Passive measures include, for example, selection of materials or locations that impede wireless signals. Passive-denial materials may include, for example, a metallic or metallized material that inhibits propagation of signals therethrough (e.g., a Faraday cage). Passive-denial locations may include, for example, underground facilities.

Detecting network-blocking may include, for example, the firearm 104, stationary devices, wearable devices, the remote server, combinations thereof, and the like. In aspects, these devices may include a radio-communication system configured to receive and process wireless signals to determine network communications interference or denial. For example, a radio-communication system may be configured to receive and process signals to determine the presence of a jammer using suitable algorithms. In aspects, the radio-communication system includes a software-defined radio operatively coupled to at least one antenna and a controller. The antennas are configured to receive predetermined frequencies of wireless signals.

Additionally, or alternatively, the radio-communication system may be configured to receive and process signals to determine denial of network communications using suitable algorithms. For example, the firearm usage monitoring system 2800 may monitor communications signals between the firearm 104 and remote server, calculate a signal power level profile with respect to movement of the firearm 104, and determine, in response to the power level profile either fulfilling a predetermined model or not fulfilling predetermined models, that the firearm 104 is in a network-blocked location. In some aspects, the predetermined models may be suitable attenuation models such as a log-distance path loss model or the Hata model.

Establishing non-blocked modes of communication to the remote server may include, for example, sweeping wireless frequencies to establish communication via a non-blocked wavelength, establishing optical or wired communication with proximate devices to backhaul data, forming an ad-hoc network between firearms 104 and/or connected devices, combinations thereof, and the like.

In embodiments, the wireless-communications-blocked device or devices, such as firearms 104 or devices, may traverse communications frequencies via, for example, hopping across or sweeping through predetermined communications frequencies to establish communications over a non-blocked frequency. For example, the wireless-communications-blocked device may ascend frequencies, descend frequencies, alternatingly ascend and descend frequencies, proceed through frequencies in a known order, combinations thereof, and the like, such that the probability of establishing communications via a non-blocked channel is above a predetermined threshold. In embodiments, the probability of establishing a communication connection is above 75%, more preferably above 90%, yet more preferably above 99%.

The predetermined ranges may be, for example, one or more suitable frequency domains for communicating the desired information. In embodiments, the frequency domains include wireless-standard domains such as Wi-Fi bands, Bluetooth bands, Cellular bands, etc.

In embodiments, the wireless-communications-blocked device traverses frequencies, analyzes whether the communications signal is indicative of a jamming signal, and removes, in response to detection of the jamming signal, the frequency from the frequencies being traversed.

In embodiments, the wireless-communications-blocked device is configured to transmit data on low-bandwidth frequencies and/or short-range frequencies. Beneficially, the data transmitted on the low-bandwidth frequencies may communicate a shared frequency within the desired wireless-communications band having sufficient bandwidth to communicate the situational data.

In embodiments, the wireless-communications-blocked device begins traversing frequencies in response to a predetermined user input. For example, two users with non-blocked communications (e.g., visual, audial, or radio communications) may synchronize actuation and initiation of the algorithms for frequency traversal.

In embodiments, the wireless-communications-blocked device, is configured to establish an ad-hoc network such that device-to-device signal communication is above a predetermined signal-to-noise ratio. The ad-hoc network may be, without limitation, a mesh network or serial network. For example, a mesh network of wireless-communications-blocked devices may be formed and movement of users of those devices may be confined such that the distance between adjacent nodes is maintained below the desired threshold to maintain a signal-to-noise ratio above the desired amount.

Additionally, or alternatively, a serial network of wireless-communications-blocked devices may be formed (e.g., a “daisy chain”) and movement of users of those devices may be directed such that the distance between adjacent nodes maintains a signal-to-noise ratio above the desired amount while extending range of the users into the network-blocked location. For example, a seven-member unit may establish a daisy-chain network where each user is connected to the adjacent user (e.g., user 1 is connected to user 2, user 2 is connected to users 1 and 3, user 3 is connected to user 2 and 4, user 7 is connected to user 6 and the external network, etc.). When the unit begins clearing the network-blocked location, the unit may enter until the signal-to-noise ratio of the connection between user 7 and connection to the external network (e.g., connection point) approaches or reaches a predetermined floor. At that point, user 7 may remain generally stationary while the remaining unit members continue clearing the network-blocked location until the signal-to-noise ratio of the connection between user 6 and user 7 approaches or reaches a second predetermined floor. This process may continue until the signal-to-noise ratio of the connection between user 1 and user 2 approaches or reaches a final predetermined ratio. In embodiments, the predetermined floors for signal-to-noise ratios may progressively decrease such that the available bandwidth is able to accommodate backhaul for data from all downstream devices. Beneficially, the serial network of wireless-communications-blocked devices maximizes penetration of the unit into the network blocked location while maintaining interconnectivity of devices within the unit, as well as optionally maintaining connection of the devices to the external network. Additionally, processing overhead is reduced and battery life increased by establishing the serial network described above because the nodes within the network do not need to allocate compute time or power toward detecting and establishing newer, stronger connections.

Tracking geospatial location and/or orientation using non-wireless mechanisms may include, for example, use of an IMU, electronic gyroscope, electronic accelerometer, optical tracking, combinations thereof, and the like. Beneficially, the firearm 104 may continue to track position of the user through alternate mechanisms that avoid reliance on signals from sources external to the network-blocked location, and may report this positioning to external devices through the network. In embodiments, the controller of the network-blocked device may adjust polling of the non-wireless mechanisms to provide tracking at suitable granularity. For example, the granularity may increase or decrease based on the presence or strength of the external signal source. In embodiments, the non-wireless movement sensors are polled at a first rate and, in response to the strength of the external signal source being at or below a predetermined threshold, are polled at a second rate that is higher than the first rate. The second rate is selected such that movements of the network-blocked device can be recorded and analyzed to determine a geospatial position of the user.

In embodiments, the polling rate is dynamically adjusted based, without limitation, on immediately prior movements of the user or the network-blocked device. For example, to maintain a desired level of granularity, the polling rate of a running user will have to be greater than the polling rate of a walking user. For example, if a measurement taken by the IMU is above a predetermined threshold, the controller may increase the polling rate of the sensor to thereby accurately capture the movement of the user.

In embodiments, the firearm usage monitoring system 2800 is configured to alert users of the firearms 104 or commanders of the users that the firearm 104 is entering or within a network-blocked location. Beneficially, such alerting improves situational awareness of the users and/or commanders and may, in embodiments, provide for neutralization of the signal-interference source or rerouting of users around the affected location. For example, alerting a user of the presence of a network blocked location provides for the user to repeatedly move locations and test for network blocking such that a perimeter for the network-blocked location may be determined.

Beneficially, the firearm usage monitoring system 2800 may determine the presence of a network-blocked location without orchestrating or altering movement of users. For example, the network-blocked location may be determined by the firearm usage monitoring system 2800 in response to losing connection with two or more devices (e.g., firearms 104 or wearable devices). In embodiments, the firearm usage monitoring system 2800 is configured to determine a network blocked location including detecting a loss of network communication from two or more devices within the same geolocation and determining, in response to the loss of network communication from the two or more devices, a perimeter of the network-blocked location, and, optionally, updating, in response to additional devices losing network communication and/or any of the two or more devices regaining network communication, the perimeter of the network-blocked location.

In embodiments, the perimeter is determined through signal-strength analysis. For example, the signal strength for communications from the two or more devices immediately preceding the loss of network communication may be determined and compared to models to determine interference sources. The signal strength may be determined via, for example, packet loss or other indicia of connectivity for the two or more devices.

In response to the signal strength diminishing in a pattern matching a first model, the firearm usage monitoring system 2800 determines that the interference is incidental and may geofence corresponding areas as network-blocked locations. For example, the firearm usage monitoring system 2800 may correlate the incidental interference to stored data such as schematics, maps, images, or video of structures, bystander density, terrain, combinations thereof, and the like to determine perimeters of the network-blocked locations. In response to the signal strength diminishing in a pattern matching a second model, the firearm usage monitoring system 2800 determines that the interference is from passive-denial mechanisms and geofences corresponding areas as network-blocked locations. For example, the firearm usage monitoring system 2800 may correlate the active interference to stored data, as described above, to determine perimeters of the network-blocked locations. For example, the firearm usage monitoring system 2800 may detect a rapid diminishment of signal from a user on opposite sides of a known structural element (e.g., entering a building) and determine that the building is considered a network-blocked location.

In response to the signal strength diminishing in a pattern matching a third model and/or a fourth model, the firearm usage monitoring system 2800 determines that the interference is from active-denial mechanisms, geofences corresponding areas as network-blocked locations, and, optionally, determining the location of the active-denial mechanisms. For example, the firearm usage monitoring system 2800 may use a third model to detect a falloff generally following the inverse square law from a shared point (e.g., the signal strength of the two or more devices being generally equal at a given radius) and determine the location of the active-denial mechanism at the convergence point from the two or more network-blocked devices. Additionally, or alternatively, the firearm usage monitoring system 2800 may use a fourth model to detect simultaneous signal dropping from geospatially proximate users, eliminate false-positive detection from, for example, loss of a network node, and determine an area of the active-denial mechanism. Beneficially, this area may be reduced to a location by directing actions of non-blocked users to test the perimeter of the network-blocked location.

The cloud-compute-constrained state is configured to inhibit loss of fidelity in situational awareness for commanders and/or users of the firearm usage monitoring system 2800. In embodiments, the firearm usage monitoring system 2800, when operating in the cloud-compute-constrained state, is configured to push data processing for lower-priority data toward the edge of the network so that server resources are allocated, dedicated, or otherwise available to process the highest-priority data. For example, if the firearm usage monitoring system 2800 is connected to firearms 104 within a unit engaged in a firefight and to firearms 104 within a unit patrolling a secured area, the firearm usage monitoring system 2800 may dedicate server-compute resources to processing data collected by the engaged unit while edge-compute resources (e.g., firearms 104, wearable devices, stationary devices, and connection point) process data collected by devices of the patrol unit. Beneficially, the firearm usage monitoring system 2800 may also reduce network traffic by pushing data processing of lower-priority data to the devices collecting the data such that transmission of the higher-priority data is uninhibited by interfering signals or traffic congestion.

In embodiments, the controller is configured to detect aspects, the cloud-compute-constrained state and switch, in response to detecting the cloud-compute-constrained state, the firearm 104 to a cloud-compute-constrained state including one or more of storing acquired data to non-volatile memory on the firearm, processing acquired data to reduce overall payload for delivery to the remote server, and adjusting communication intervals to optimize packet size for processing (e.g., sending larger packets to reduce processing overhead) similar to those processes discussed above. Additionally, or alternatively, the cloud-compute-constrained state may include one or more of storing acquired data to non-volatile memory on peer devices and processing, via peer devices, data acquired by the firearm 104.

The situational states are configured to provide prioritization information for data collected by the firearms 104. Additionally, or alternatively, the situational states may provide tags to data for machine learning applications to optimize model training. The situational states may include, for example, a training state, a deployed state, and an engaged state. The situational states may be determined via, for example, user actuation with the firearm usage monitoring system 2800, detection of the firearm 104 within a geofenced area, receiving signals from one or more beacons or wireless devices, duty schedule, receipt of messages from a remote server, activation of connected devices (e.g., a siren or body camera), an inertial measurement exceeding a predetermined threshold (e.g., force required during unholstering), prolonged sub-threshold actuation (e.g., holstered firearm while user is running), actuation of grip sensors combinations thereof, and the like.

The controller may operate the firearms 104 in the training state when users are engaged in a training exercise. For example, locations such as firing ranges and training fields may be outfitted with beacons such that firearms 104 entering the signal range of the beacons operate in the training mode and data collected by the firearms 104 may be labeled as training-mode data. In embodiments, the firearms 104 connect to a secondary server when operating in the training mode to transmit, store, and/or process collected data. The secondary server may include, for example, an on-site device such as a local server or deployable device. Beneficially, the training state may provide optimized network traffic and/or reduced cost operation by pushing data storage and processing toward the network edge and/or connecting to a secondary server that is separate from the remote server used, for example, during operation in the engaged state. Data collected while operating in the training state may be accessed later via an API or other data communication interface.

The controller may operate the firearms 104 in a deployed state when users are deployed to locations where the firearms 104 may be used but are not currently engaged. For example, a firearm 104 may operate in the deployed state when a user is on-duty and outside of a trusted location (e.g., an on-duty officer outside of the station or patrol vehicle). Beneficially, the deployed state may provide optimized resource allocation of the remote server by allowing for higher latency in transfer and processing of data collected by a firearm 104 in the deployed state.

The controller may operate the firearm 104 in an engaged state when the firearm 104 has been fired or when a firing event is likely. For example, the firearm 104 may operate in the engaged state in response to detecting an unholstering event, detecting an aiming action of the firearm 104, engagement of peers that are proximate to the firearm 104, detection of shots fired by another firearm, receipt of a message sent by the remote server, combinations thereof, and the like. In embodiments, the controller operates in an engaged state only when the detected event occurs outside of a trusted location (e.g., unholstering within a police station will not trigger the engaged state unless accompanied by manual actuation of the engaged state or a firing event). Beneficially, the engaged state provides for collection and transfer of high-fidelity situational data.

While the discussion of detection of conditions, detection of conditions, operation states, and corresponding mitigation or operation have been discussed with reference to the firearm 104, it should be recognized that such discussion may be applied to other components of the firearm usage monitoring system 2800, such as connection points, wearable devices, stationary devices, etc.

In embodiments, the firearm usage monitoring system 2800 provides processed data to third-party software, such as a geospatial infrastructure and military situational awareness app, for display. For example, the firearm usage monitoring system 2800 may provide firing data, target locations, engagements, aiming cones, firing cones, etc. to third-party software, such as Android Tactical Assault Kit (ATAK), Android Team Awareness Kit (ATAK), Digitally Aided Close Air Support (DACAS), Safe Strike, and other situational awareness software or applications for military, law enforcement, and first responders.

The firearm usage monitoring system 2800 may display to firearm users or commanders projected, collected, and/or analyzed information related to, without limitation, threats, team members, friendly units, bystanders or non-threatening persons, images or videos captured by users, subordinate or commanding units, objective, VIP or person of interest, exit routes, vigilance or potential threat level, combinations thereof, and the like. Threat information includes, without limitation, threat location, threat movement, threat field of view, threat firing cones, threat-controlled areas, and threat-viewable areas. Team member information includes, without limitation, team member position, team member movement, team member field of view, team member firing cones, team member aiming cones, team member ammunition status, team member mobility status, and team member support needs. Friendly unit information includes, without limitation, friendly-unit positions, friendly-unit movement, friendly-unit firing cones, friendly-unit aiming cones, friendly-unit support needs, and friendly-unit status. Information related to bystanders or non-threatening persons includes, without limitation, position, number, and/or danger to the bystanders. Images or videos captured by users includes, without limitation, images or video captured by the firearm 104, devices coupled thereto, connected devices, or support devices. Subordinate or commanding unit information includes, without limitation, position, grouping, number, ammunition, status, and support needs. Information related to objectives includes, without limitation, location, routing information, time to completion or initiation of action, and information regarding related objectives even if a user or commander is not responsible for the objective. Information related to VIP or person of interest includes, without limitation, position, exposure, movement, routing, status, and coverage. Exit route information includes, without limitation, pathing, exposure, coverage, and alternate routes. Vigilance or potential threat level information includes, without limitation, status based on substantially real-time information such as proximity to engaged units, knowledge of threats, and actions of team members or friendly units (e.g., unholstering or aiming).

The firearm usage monitoring system 2800 may communicate the information through a flat display or a tiered display. The information may be displayed automatically as an alert, automatically as a view-change, as a prompt that awaits user interaction, and in response to receipt of user input.

For example, the firearm usage monitoring system 2800 may display to a commander an initial view displaying a plurality of users grouped by units and, in response to detecting a triggering event, initiate a view change that communicates information related to the triggering event, initiate an alert that provides information related to the triggering event, or initiate a prompt that awaits input from the commander to initiate the view change.

The view changes may include, without limitation, changing the displayed location or changing the displayed tier. In embodiments, the view change includes zooming in on the position of the device detecting the triggering event. In embodiments, the view change includes changing the displayed indicia related to the device detecting the triggering event. More particularly, the displayed indicia may include an animated, alternating transition between the initial indicia and the alert indicia. The animation may continue for a predetermined period of time or await interaction with the display. In embodiments, the view change includes transitioning from displaying the units in a group to displaying the units as ungrouped in response to the triggering event occurring to a user within the group.

Events that trigger communicating the information through an alert, view change, or prompt include, for example, detection of grip events, unholstering, movement of user with firearm 104 such as repositioning (e.g., walking or intermittent running) or pursuit (e.g., prolonged running), aiming, firing, seeking cover (e.g., detection of crouching or rotational movement of user as measured by the IMU), low ammunition, weapon malfunction, or communication loss. In embodiments, the triggering events require the detected event to be repeated by two or more users within a group (such as an operational unit). In embodiments, the triggering events require the detected event to be repeated in proximity to another event. The proximity may be, for example, geographical proximity, temporal proximity, within display grouping (e.g., the current display shows multiple users as a single icon or indicia), within same peer group, or within same unit (e.g., by a member of the unit and subordinates or commanders). For example, detection of a grip event by two users within 20 feet of each other triggers the action whereas detection of a grip event by two users that are outside 300 feet away from each other does not trigger the action. Beneficially, such members optimize situational awareness by inhibiting false-positive display changes.

Grip events may be determined through suitable algorithms and mechanisms such as grip detection, holster status, movement of unholstered weapon, and aiming of the firearm 104. For example, grip detection may include use of an inertial measurement unit, capacitive member, electric field sensor, inductive sensor, shadow detection, infrared detection, conductivity sensors, resistive sensors, and other suitable technologies. In embodiments, a hand of the user will incidentally interact with the grip-detecting mechanism when the firearm 104 is grasped. For example, a sensor coupled to the trigger guard may detect contact of the user with the trigger guard (e.g., an aimed position) and a conductivity sensor coupled to the trigger to detect contact between the user with the trigger (e.g., a firing position).

Holster status may be determined by, for example, use of hall effect sensors, eddy current sensors, near-field sensors, magneto-resistive sensors, inertial measurement unit, capacitive member, electric field sensor, inductive sensor, shadow detection, infrared detection, conductivity sensors, resistive sensors, and other suitable technologies. For example, the firearm 104 may include an eddy current sensor that is actuated in response to a grip event, is disposed proximate a conductive material of the holster when the firearm 104 is properly seated within the holster and reacts to relative movement between the eddy current sensor and the conductive material.

Movement with the weapon out may be detected, for example, by use suitable mechanisms and algorithms such as those employing an inertial measurement unit or optical measurements. In embodiments, the firearm usage monitoring system 2800 is configured to detect a pattern of movement from the IMU indicative of user movement. For example, the user slowly moving with a pistol in-hand will have a periodic oscillation in a dimension following the barrel of the weapon, the user running with the pistol in-hand will have a more rapid oscillation that is pendulous in the frame of reference and generally orthogonal to the barrel, and the user moving with a rifle in hand will have an oscillation that is at an oblique angle to the barrel. Additionally, or alternatively, optical methods such as tracking objects captured between successive images may be used to track movement or, if subsequent images return out of focus, the firearm usage monitoring system 2800 may determine that the firearm 104 is moving at a rapid pace.

A firearm malfunction or ammunition state may be determined, without limitation through suitable devices and algorithms that coordinate with data collected by sensors from other devices. In embodiments, conditions indicative of a malfunction event include, without limitation, use of a sidearm by the user while having sufficient ammunition for the primary weapon, a sustained absence of fire while proximate users continue to fire, and/or detecting an abnormal firing pattern. The abnormal firing pattern may be detected, for example, through comparison to known patterns for similar firearms or to previously acquired firing patterns from the firearm.

In embodiments, connection points 1200 and 1202 provide data storage. Connection points 1200 and 1202 gather data when a connected device is gripped through minutes after the device is disengaged. If connection points 1200 and 1202 cannot transmit to server device 112 or to an edge device on the network (e.g., not available, out of range), it may store (e.g., for up to 30 days) in onboard memory (e.g., through high data rate memory). Once available, the system may restart the transmission process, so that the data is sent over.

In embodiments, system 100 provides power management capabilities. If a device connected within range of connection point 1200 and/or connection point 1202 is in motion but not in use, a low power mode (e.g., with occasional pinging) may be implemented to maintain general awareness of the location of the user. The device transmits a location every one second. If not used for a period of time, (e.g., for a half hour) the device may send one message at a defined interval, such as every second, every minute, every one-half hour, every hour, or at other intervals.

Beneficially devices of the firearm usage monitoring system can be configured to harvest energy from electromagnetic frequencies transmitted by other devices. For example, the firearm 104 may include a wireless-energy harvesting mechanism including a suitable circuit for harvesting the electromagnetic radiation. In embodiments, the wireless-energy harvesting mechanism includes a receiving antenna that is configured to receive the electromagnetic radiation, a rectifier that is configured to convert the received alternating current to direct current, and a DC-DC converter that is configured to alter voltage of the rectified current to a desired voltage. The antenna may be shared with the communications interface of the firearm 104.

In embodiments, the data collection rate is adjusted based on the amount of energy being harvested. Beneficially, such adjustment can provide improved wayfinding in network-denied environments without sacrificing battery life. For example, the increased energy output from a jammer may be harvested to provide improved battery life in network-denied environments and compensate for extra energy used in increasing data collection rates to compensate for extra energy expended in counteracting the network denial.

Referring to FIG. 13, connection point 116 is shown as including network interface 1300, sensors 1302, signal prioritization module 1304, and signal compression module 1306. Network interface 1300 includes hardware and/or software for establishing connections, or otherwise for allowing connections to be established, between connection point 116 and devices within a physical range of connection point 116 and between connection point 116 and server 112 and/or one or more other computing devices used to implement the functionality of system 100. Network interface enables connection point 116 to connect to one or more of a network of computers (e.g., a LAN, a WAN, a VPN, a P2P network, or an intranet), a network of networks (e.g., the Internet), or another network (e.g., a cellular network). For example, network interface 1300 can enable communications over Ethernet, TCP, IP, power line communication, Wi-Fi, Bluetooth®, infrared, RF, GPRS, GSM, FDMA, CDMA, EVDO, Z-Wave, ZigBee, 3G, 4G, 5G, another protocol, or a combination thereof.

Sensors 1302 include one or more sensors used to record measurements relating to the use of connection point 116. Sensors 1302 may, for example, include one or more of a geolocation sensor (e.g., for connecting to GPS and/or other global navigation satellite systems), an image sensor, a vibration sensor, an audio sensor, an IMU, or the like. In embodiments, sensors 1302 are used to sense information about the environment to which connection point 116 is deployed. For example, sensors 1302 can be used to capture image, video, or audio from that environment. In another example, sensors 1302 can be used to detect vibrations within that environment (e.g., caused by natural or man-made events). In embodiments, information collected using sensors 1302 can be used to enhance, supplement, clarify, or otherwise process signals received from devices connected to connection point 116. For example, where such a signal does not include geolocation information indicating where the device form which the signal originates is located, connection point 116 can add such geolocation information to the signal before transmitting the signal to server 112. In another example, connection point 116 can add timestamp information to such a signal before transmitting it to server 112.

Signal prioritization module 1304 prioritizes channels of communication between connection point 116 and devices within a connection range of connection point 116. Bandwidth may be limited in the deployment location, for example, due to a distance between connection point 116 and a nearest network signal provider, capabilities of the connection point 116 itself, and/or another constraint. However, there may at times be a relatively large number of devices which attempt to connect to connection point 116. For example, where each user within the deployment location has a personal computing device and at least one firearm, there may be too many devices attempting to connect to connection point 116 compared to the availability of network bandwidth made available by connection point 116. In such an event, signal prioritization module 1304 can be used to prioritize connections for certain devices. For example, connections may be prioritized based on a time since a last established connection between a device and connection point 116, a type of the device, a type of signal or information thereof being communicated from the device, a distance between the device and connection point 116, information associated with a user of the device (e.g., based on user rank, skill, or the like), an amount of bandwidth required for the connection with the device, other criteria, or a combination thereof. In embodiments, connection point 116 may be configured to limit the total number of devices which may connect to it at a given time.

Signal compression module 1306 compresses signals received from devices connected to the connection point 116, for example, to prepare the signals for transmission to server 112. Signal compression module 1306 compresses the signals to reduce a bit rate at which the signals are transmitted over a network. In embodiments, signal compression module 1306 may use lossless compression technique to compress a signal. In embodiments, signal compression module 1306 may use lossy compression technique to compress a signal. In embodiments, signal compression module 1306 may use lossless/lossy hybrid compression to compress a signal, such as where a portion of a signal is processed using lossless compression and another portion of the same signal is processed using lossy compression. The type of compression used may be based on the information included in a signal. For example, information which requires high fidelity when reconstructed for viewing may be compressed using lossless compression, while other information may be compressed using lossy compression. In embodiments, connection point 116 may be configured to identify types of information which require high fidelity and compress those types of information using lossless compression. In embodiments, connection point 116 may be configured to decompressed compressed data received from server 112 or otherwise from a computing device located outside of the deployment location.

To further describe some embodiments in greater detail, reference is next made to examples of techniques which may be performed by or in connection with a firearm monitoring and remote support system, for example, system 100. The techniques include technique 1400 of FIG. 14, technique 1500 of FIG. 15, and technique 1600 of FIG. 16. Technique 1400, technique 1500, and/or technique 1600 can be executed using computing devices, such as the systems, hardware, and software described with respect to FIGS. 1-13. Technique 1400, technique 1500, and/or technique 1600 can be performed, for example, by executing a machine-readable program or other computer-executable instructions, such as routines, instructions, programs, or other code. The steps, or operations, of technique 1400, technique 1500, and/or technique 1600, or another technique, method, process, or algorithm described in connection with the embodiments disclosed herein, can be implemented directly in hardware, firmware, software executed by hardware, circuitry, or a combination thereof. For simplicity of explanation, technique 1400, technique 1500, and/or technique 1600 are each depicted and described herein as a series of steps or operations. However, the steps or operations in accordance with this disclosure can occur in various orders and/or concurrently. Additionally, other steps or operations not presented and described herein may be used. Furthermore, not all illustrated steps or operations may be required to implement a technique in accordance with the disclosed subject matter.

Referring to FIG. 14, at 1402, a signal including sensor information is produced. The sensor information is produced using one or more sensors of a device within a deployment location. For example, the sensor information may be produced using one or more of a geolocation sensor, an image sensor, an IMU, or another sensor configured to record measurements associated with a firearm, wearable device, stationary device, robot, or another device. The signal may be produced using a processor of the device. For example, an ASIC, FPGA, or other units may receive the sensor information from the sensors used to record it and produce the signal using that sensor information.

At 1404, the signal is transmitted to a server device outside of the deployment location. The server device runs application software for providing remote support to users of devices (e.g., firearms) within the deployment location. In embodiments, the device at which the signal is produced may directly transmit the signal to the server device. In embodiments, a connection point intermediate to the device at which the signal is produced and to the server device may be used to communicate the signal from the device to the server device.

At 1406, the application software uses the sensor information included in the signal to detect a threat within the deployment location. The threat can be or include one or more hostile combatants or other sources of potential injury to person or damage to property of the users of system 100. In embodiments, detecting the threat using the restored sensor information can include processing the restored sensor information to detect a change in an orientation of the device at which the signal is produced. For example, where the device is a firearm, the restored sensor information can indicate that an orientation of the firearm has changed from one of a gripping orientation or a drawing orientation to one of a pointing orientation or a firing orientation. In embodiments, detecting the threat using the restored sensor information can include processing the restored sensor information to detect a discharge of a firearm. For example, the discharge may be detected using one or more sensors of the firearm, a wearable device worn by a user of the firearm at the time of the discharge, or another device.

In embodiments, detecting the threat can include processing restored sensor information from multiple devices. For example, sensor information received from two firearms can be used to detect the threat. The sensor information can be processed to determine a change in orientation of at least one of the two firearms. Cones of fire for each of the firearms can then be updated based on the sensor information. Responsive to a determination that the cones of fire of those firearms coalesce as a result of such updating, the coalescence can be used to detect the threat. In embodiments, the threat may be detected based on the coalescence of the cones of fire alone or based on additional information which is used to clarify the reason for the coalescence of the cones of fire. For example, imaging data captured using a camera or other asset within the deployment location can be used to verify whether a location at which the coalesced cones of fire are pointing includes a threat. In another example, sensor information indicating a firing of one or both firearms associated with the coalesced cones of fire can be used to detect the threat. In yet another example, one or more users of the firearms associated with the coalesced firearms can indicate the presence of a threat.

At 1408, an action to perform in response to the detected threat is determined. The application software can automatically determine an appropriate action to take based on the nature of the detected threat and/or based on information collected from one or more devices within the deployment location. In embodiments, the action to perform can be determined based on a severity of the detected threat. For example, a highly severe threat may call for the deployment of a large number of reinforcements to the deployment location, whereas a moderately or minimally severe threat may call for the deployment of fewer reinforcements to the deployment location.

At 1410, the application software causes a deployment of response infrastructure to perform the action. In embodiments, the application software can cause the deployment of the response infrastructure by transmitting a command, processed at a device local to the response infrastructure, to initialize the use and/or operation of the response infrastructure. In embodiments, the application software can cause the deployment of the response infrastructure by indicating a recommendation for the response infrastructure within a GUI of the application software. For example, a remote user of the application software can interact with the application software to approve or modify the recommendation.

Referring to FIG. 15, at 1502, first sensor information is received. The first sensor information may be received from one or more devices within a deployment location. For example, the first sensor information may be received from one or more firearms, wearable devices, stationary devices, robots, or other assets. The first sensor information includes measurements recorded using one or more sensors of the devices. For example, the first sensor information may include measurements recorded using one or more of geolocation sensors, image sensors, or IMUs. The first sensor information is received within one or more signals transmitted to a server device. For example, the one or more signals may be transmitted from a connection point intermediate to the devices and the server device.

At 1504, a GUI is generated based on the first sensor information. The GUI includes a visual representation of cones of fire for each firearm associated with the first sensor information. The cones of fire represent positions and orientations of the firearms determined based on the first sensor information. Each firearm may have a cone of fire represented within the GUI. The size of the cone of fire represented in the GUI may be based on or both of a skill of a user of the firearm or a type of the firearm. For example, a user having a higher skill level may have a narrower cone of fire to denote a greater expectation of accurate shooting by the user.

At 1506, after the GUI is generated, second sensor information is received. The second sensor information indicates a change in one or both of the position or orientation of at least one of the firearms within the deployment location. For example, the second sensor information can indicate that the orientation of one or more firearms has changed from a gripping orientation or a drawing orientation to a pointing orientation or a firing orientation, so as to denote that the firearm has been readied for use, such as to address a threat within the deployment location. In some cases, the orientations of multiple firearms may be so changed as indicated by the second sensor information.

At 1508, the GUI is automatically updated based on the second sensor information. The updating may include changing a position and/or orientation of one or more cones of fire as visually represented within the GUI based on the second sensor information. For example, changes in the orientation and/or position of the firearms as indicated in the second sensor information can be used to update the positions and orientations represented by the cones of fire for those respective firearms. In this way, the visual representations of those cones of fire within the GUI is changed.

At 1510, a determination is made that two or more cones of fire visually represented in the GUI have coalesced based on the updating from the second sensor information. A coalescence of cones of fire refers to a situation in which the cones of fire for two or more firearms are at least partially overlapping. Coalescence of cones of fire occurs when users of associated firearms have readied those firearms for firing and are pointing those firearms at a common location within the deployment location.

At 1512, a threat is detected based on the coalescence of the cones of fire. The threat can be or include one or more hostile combatants or other sources of potential injury to person or damage to property of the users of system 100. A threat may be detected based on the coalescence of the cones of fire alone or based on additional information which is used to clarify the reason for the coalescence of the cones of fire. For example, imaging data captured using a camera or other asset within the deployment location can be used to verify whether a location at which the coalesced cones of fire are pointing includes a threat. In another example, sensor information indicating a firing of one or both firearms associated with the coalesced cones of fire can be used to detect the threat. In yet another example, one or more users of the firearms associated with the coalesced firearms can indicate the presence of a threat. In yet another example, application software which generates and updates the GUI can detect the threat based on the number of coalesced cones of fire, the duration of time over which the cones of fire remain coalesced, the skill levels of the users of the firearms associated with the coalesced cones of fire, other information which may be represented within the GUI, or a combination thereof.

At 1514, the GUI is automatically updated to visually represent the detected threat. The threat may be represented using an icon which is visually distinct from icons used to represent the firearms or users thereof within the GUI. Visually representing the detected threat within the GUI may include adding an icon within a location of the cone of fire coalescence.

Referring to FIG. 16, at 1602, a signal including sensor information is produced. The sensor information is produced using one or more sensors of a device within a deployment location. For example, the sensor information may be produced using one or more of a geolocation sensor, an image sensor, an IMU, or another sensor configured to record measurements associated with a firearm, wearable device, stationary device, robot, or another device. The signal may be produced using a processor of the device. For example, an ASIC, FPGA, or other units may receive the sensor information from the sensors used to record it and produce the signal using that sensor information.

At 1604, the signal is transmitted to a connection point located within the deployment location. The connection point may be a device configured to communicate signals from devices within the deployment location to a remote server which processes the signals to provide monitoring and other remote support to users of the devices. In embodiments, the signal may be transmitted directly between the device and the connection point. Alternatively, in embodiments, a mobile tracking device associated with a user of the device at which the signal is produced may be used as an intermediary to communicate the signal between the device and the connection point.

At 1606, the connection point compresses the signal received from the device. In embodiments, in which the connection point receives multiple signals from the device, or in embodiments, in which the connection point receives one or more signals from multiple devices, the connection point can compress those signals into a single compressed signal. Alternatively, in such embodiments, the connection point can compress those signals into separate compressed signals. For example, where the connection point is configured for batch processing, the connection point may organize signals received (e.g., within a time interval) into one or more batches and compress each batch individually. In another example, the connection point can batch signals based on the types of devices from which they are received. The compression of one or more signals may be performed using a lossy compression technique. Alternatively, the compression of one or more signals may be performed using a lossless compression technique. As a further alternative, the compression of one or more signals may be performed using a hybrid lossy/lossless compression technique.

At 1608, the compressed signal is transmitted from the connection point to a server device. The server device is a remote server located outside of the deployment location within which the connection point and the device used to produce the signal are located.

At 1610, application software running on the server device is used to decompress the compressed signal to restore the sensor information. In embodiments, the application software determines how to decompress the compressed signal based on information (e.g., compressed syntax elements) recorded within the compressed signal. For example, one or more bits can be encoded to a header file within the compressed signal to indicate, to the decompression functionality of the application software, how to decompress the compressed signal.

At 1612, the application software uses the restored sensor information to detect a threat within the deployment location. The threat can be or include one or more hostile combatants or other sources of potential injury to person or damage to property of the users of system 100. In embodiments, detecting the threat using the restored sensor information can include processing the restored sensor information to detect a change in an orientation of the device at which the signal is produced. For example, where the device is a firearm, the restored sensor information can indicate that an orientation of the firearm has changed from one of a gripping orientation or a drawing orientation to one of a pointing orientation or a firing orientation. In embodiments, detecting the threat using the restored sensor information can include processing the restored sensor information to detect a discharge of a firearm. For example, the discharge may be detected using one or more sensors of the firearm, a wearable device worn by a user of the firearm at the time of the discharge, or another device.

In embodiments, detecting the threat can include processing restored sensor information from multiple devices. For example, sensor information received from two firearms can be used to detect the threat. The sensor information can be processed to determine a change in orientation of at least one of the two firearms. Cones of fire for each of the firearms can then be updated based on the sensor information. Responsive to a determination that the cones of fire of those firearms coalesce as a result of such updating, the coalescence can be used to detect the threat. In embodiments, the threat may be detected based on the coalescence of the cones of fire alone or based on additional information which is used to clarify the reason for the coalescence of the cones of fire. For example, imaging data captured using a camera or other asset within the deployment location can be used to verify whether a location at which the coalesced cones of fire are pointing includes a threat. In another example, sensor information indicating a firing of one or both firearms associated with the coalesced cones of fire can be used to detect the threat. In yet another example, one or more users of the firearms associated with the coalesced firearms can indicate the presence of a threat.

In embodiments, the signal may be compressed at a device other than the connection point. For example, the signal may be compressed at a mobile computing device used by a user of the device at which the signal is produced. In another example, the signal may be compressed at the device at which the signal is produced. In such an embodiment, the connection point may be used as an intermediate relay to receive the compressed signal and forward the compressed signal to the server device.

To further describe some embodiments in greater detail, reference is next made to examples of techniques which may be performed by or in connection with a firearm usage monitoring system, for example, system 100. The techniques include technique 3500 of FIG. 35, technique 3600 of FIG. 36, technique 3700 of FIG. 37, technique 3800 of FIG. 38, technique 3900 of FIG. 39, technique 4000 of FIG. 40, and technique 4100 of FIG. 41.

Technique 3500, technique 3600, technique 3700, technique 3800, technique 3900, technique 4000, and/or technique 4100 can be executed using computing devices, such as the systems, hardware, and software described above. Technique 3500, technique 3600, technique 3700, technique 3800, technique 3900, technique 4000, and/or technique 4100 can be performed, for example, by executing a machine-readable program or other computer-executable instructions, such as routines, instructions, programs, or other code. The steps, or operations, of technique 3500, technique 3600, technique 3700, technique 3800, technique 3900, technique 4000, and/or technique 4100, or another technique, method, process, or algorithm described in connection with the embodiments disclosed herein, can be implemented directly in hardware, firmware, software executed by hardware, circuitry, or a combination thereof. For simplicity of explanation, technique 3500, technique 3600, technique 3700, technique 3800, technique 3900, technique 4000, and/or technique 4100 are each depicted and described herein as a series of steps or operations. However, the steps or operations in accordance with this disclosure can occur in various orders and/or concurrently. Additionally, other steps or operations not presented and described herein may be used. Furthermore, not all illustrated steps or operation may be required to implement a technique in accordance with the disclosed subject matter.

Referring now to FIG. 35, at 3502, a firearm operates in a first state. The firearm includes at least one sensor configured to record information related to usage of the firearm, a communication interface configured to transmit data to a connected device, a buffer operatively coupled to the at least one sensor, and a controller operatively coupled to the buffer, the communication interface, and the at least one sensor. The buffer is configured to store the information related to usage of the firearm. The first state includes transmitting data collected by the at least one sensor to the connected device in substantially real time. At 3504, a cloud-constrained condition is detected. The cloud-constrained condition systematically inhibits communication between the firearm and the connected device. For example, the cloud-constrained condition may be caused by a physical obstruction or a network-blocking action. At 3506, the firearm is operated in a second state in response to detecting the cloud-constrained condition. The second state includes altering data transmission to maintain data fidelity. For example, data transmission intervals may be extended to reduce transfer overhead, the collected data may be processed to reduce the amount of data transmitted, the data may be stored for later transmission, etc.

Referring now to FIG. 36, at 3602, communications are established with a firearm. The firearm includes a plurality of sensors configured to record information related to usage of the firearm, a communication interface configured to transmit data to a connected device, and a controller operatively coupled to the communication interface and the plurality of sensors. At 3604, it is repeatedly determined whether one or more criteria related to usage of the firearm are satisfied. The criteria include a first criterion and a second criterion. In some aspects, the first criterion is the firearm being holstered and the second criterion is selected from the group consisting of the firearm being geolocated within a predetermined area, movement of the firearm being below a predetermined threshold, movement of the firearm being outside of a predetermined pattern, and a user being on-duty. At 3606, the firearm is operated in a first standby state in response the criteria being satisfied. At 3608, the firearm is switched from the first standby state to a second standby state in response to the first criterion being unsatisfied while the second criterion remains satisfied. At 3610, the firearm is activated to a real-time-monitoring state from either the first standby state or the second standby state in response to the second criteria being unsatisfied. The real-time-monitoring state includes substantially real-time data transfer to the connected device of the information related to usage of the firearm.

Referring now to FIG. 37, at 3702, communications are established with a firearm. The firearm includes at least one sensor configured to record information related to usage of the firearm and a controller operatively coupled to the communication interface and the at least one sensor. At 3704, a communication interface configured to transmit data to a connected device, it is repeatedly determined whether one or more criteria related to usage of the firearm are satisfied. The criteria include one or more of the firearm being geolocated within a predetermined area, the firearm being holstered, movement of the firearm being below a predetermined threshold or outside of a predetermined pattern, a user being on-duty, or contact of the user with a predetermined location on the firearm. At 3706, the firearm is operated in a standby state in response to the criteria being satisfied. At 3708, the firearm is switched from the standby state to a real-time-monitoring state in response to any of the criteria being unsatisfied. The real-time-monitoring state includes substantially real-time data transfer of the information to the connected device.

Referring now to FIG. 38, at 3802, a plurality of users is monitored. Each of the plurality of users has a respective one of a plurality of firearms. At 3804, signals are received from the plurality of firearms regarding usage thereof. At 3806, a display device displays a graphical representation of geospatial positioning of the firearms. At 3808, a controller determines operating states of each of the plurality of firearms. At 3810, the controller detects a change in the operating state of at least one of the plurality of firearms. At 3812, an updated graphical representation is provided in response to detecting the change in operating state. The updated graphical representation provides indicia of the change in the operating state.

Referring now to FIG. 39, at 3902, communications are established with a connected device via a communication interface. At 3904, a jamming signal that inhibits communication with the connected device is detected using the communication interface. At 3906, in response to detecting the jamming signal, communication with the connected device is stopped. At 3908, a wireless-energy harvesting mechanism leaches power from the jamming signal in response to detection thereof. The wireless-energy harvesting mechanism includes a receiving antenna configured to receive the jamming signal, a rectifier configured to convert the received signal to direct current, and a DC-DC converter configured to alter voltage of the direct current to a desired voltage.

Referring now to FIG. 40, at 4002, the battery powers components of the firearm in a first sensing mode. At 4004, a communication interface of the firearm monitors electromagnetic flux proximate the firearm. At 4006, a wireless-energy harvesting mechanism leaches power from the electromagnetic radiation in response to the electromagnetic radiation density exceeding a predetermined threshold. The wireless-energy harvesting mechanism includes a receiving antenna configured to receive the jamming signal, a rectifier configured to convert the received signal to direct current, and a DC-DC converter configured to alter voltage of the direct current to a desired voltage. At 4008, operating, via the battery and the harvested power, the components of the firearm in a second sensing mode. The second sensing mode expends more energy than the first sensing mode.

Referring now to FIG. 41, at 4102, sensor information is received from a firearm. At 4104, an event model is used to evaluate the sensor information. In embodiments, the event model is created by obtaining timestamped information from a first sensor type coupled to a firearm and a second sensor type, selecting a plurality of monitored events including a discharge event, labeling the timestamped information with the respective one or more of the monitored events in response to the timestamped information occurring contemporaneously with a respective one or more of the monitored events, grouping items of the timestamped information that are sensed temporally proximate to the monitored event by the sensor or another sensor within the sensor types with each respective item of labeled information, splitting the grouped data into a first portion and a second portion, training the event model using the first portion via machine learning, and evaluating the event model using the second portion. After the event model is trained and passes evaluation, the model may be implemented in the system or components thereof. At 4106, the evaluation determines occurrence of one or more of the monitored events. At 4108, indicia communicating the occurrence of the one or more of the monitored events are displayed to a viewer via a human interface in response to determining that a monitored event will occur.

Referring to FIG. 17, gestures, positions and locations of a firearm indicative of or in preparation for live fire are shown. In particular, gestures and weapon orientations 1700 that can serve to as inputs and/or triggers to system 100 are shown. In embodiments, gestures and weapon orientations 1700 can include a gripping gesture and orientation 1702, a drawing gesture and orientation 1704, a pointing gesture and orientation 1706 that can be indicative of aiming the weapons, and a firing gesture and orientation 1708 that is indicative of live fire. Firing gesture and orientation 1708 can further include firing directions, angles of the weapon, rates of fire information, and the like. At each detected gesture and orientation 1700, system 100 can, in many examples, transmit a spot report 1710.

In various examples, spot report 1710 can include: unit identification, date and time information, location information, and threat/enemy activity information. In embodiments, the unit identification can identify user profiles, asset identities, and the like. In embodiments, the unit identification can also be used to determine what units (or divisions thereof) of a deployed force are associated with the weapon. By way of these examples, system 100 can verify the authenticity of the unit identification, deploy encrypted communication and other security measures to ensure secured connectivity with the weapon and its proper pairing and continued proper pairing with the user. In embodiments, the unit identification can be associated with a soldier. In embodiments, the unit identification can be associated with a police officer. In embodiments, the unit identification can be associated with a security agent, a private homeowner or business owner, a unit of a corporate security force, and the like.

In embodiments, spot report 1710 can include the location information from GPS, inertial measurement information, other mapping information, or the like. In embodiments, the location information can also include overlays from location information provided by other associated users, components, network location information, and other electromagnetic information in the vicinity. In embodiments, the location information can also include information from one or more attitude and heading reference systems from one more units deployed with the user. By way of this example, sensors on three axes can provide attitude information for aircraft, unmanned aerial vehicles, drones other deployable robots, or the like and those sensors can supply roll, pitch, and yaw, or other three axes examples to enhance location information. The sensors can include solid-state or microelectromechanical systems gyroscopes, accelerometers, and magnetometers.

In embodiments, spot report 1710 including the threat/enemy activity information can include size, location, and activity for multiple targets. By way of this example, threat/enemy activity can be determined or can be made more confident with information obtained by adjacent assets in the field. In many examples, unmanned aerial vehicles, drones, and the like may provide video overlays from the vicinity to confirm threat/enemy activity, contribute to the calculation of threat/enemy activity, and to increase confidence in reporting of threat/enemy activity and location.

In embodiments, spot report 1710 can include provisioning information about the weapon and current ammunition status. By way of these examples, the spot report can include ammunition remaining, ammunition discharge rate, prompts for resupply, and anticipated resupply needs. In many examples, the weapons can be assigned a standard stock or count of ammunition. Detection of live fire can cause the firearm usage tracking system 800 to calculate shot consumption and predict when the weapon will deplete its local ammunition. Resupply information can be automatically transmitted when predetermined levels of remaining ammunition are reached or are approaching quickly at a given rate of fire. In many examples, the weapon may be provisioned with many rounds of ammunition and levels of remaining ammunition can be included in spot reports. Once remaining ammunition levels dip below preset thresholds, resupply alerts can be sent. In addition, predictions can be presented to the user to describe when ammunition will be exhausted especially if there is currently or recently a relatively high rate of fire.

Referring to FIG. 18, a visualization of multiple users and assets engaged in live fire showing spot report information including communication statuses, unit identifiers, day and time information, location information, and assessments of enemy activity and location including confidence indicators of threat assessment is shown. In particular, a third-person visualization 1800 including a street view 1802 that shows multiple users 1804 and assets 1806 engaged in live fire is shown. In embodiments, third-person visualization 1800 includes spot report information 1808 that can include communication statuses 1810, unit identifiers 1812, day and time information 1814, location information 1816, and assessments of enemy activity and location 1818 including confidence indicators of that assessment.

Referring to FIG. 19, a visualization of multiple users and assets engaged in live fire showing spot report information including unit identifiers, location information, ammunition remaining, ammunition discharge rate, prompts for resupply, and anticipated resupply needs are shown. In particular, a third-person visualization 1900 including an area view 1902 that shows multiple users 1904 and assets 1906 engaged in live fire is shown. In embodiments, third-person visualization 1500 includes spot report information 1908. In embodiments, spot report information 1908 includes unit identifiers 1910, location information 1912, ammunition remaining 1914, ammunition discharge rate 1916, prompts for resupply 1918, and anticipated resupply needs 1920. In embodiments, third-person visualization 1900 includes assessments 1922 of enemy activity and location. In embodiments, assessments 1922 of enemy activity and location can include confidence indicators 1924 of that assessment.

In embodiments, FIGS. 20, 21, 22, and 23 depict, embodiments of firearm usage monitoring system includes circuit board 2010 electrically coupled to battery 2012 with connecting wire 2022. The battery 2012 is electrically coupled to entry point 2014. The entry point 2014 is configured to receive a hardwire connection for either electrical power or data. The battery 2012 is mounted into first grip panel 2016. The circuit board 2010 is mounted into second grip panel 2018. The first grip panel 2016 can be joined to second grip panel 2018 on firearm 2020 to form grip 2024. The grip 2024 can contain magazine 2028 that can contain rounds 3030. The trigger 2032 can be pulled after safety 2034 is released to fire one of the rounds 2030 with firearm 2020.

Turning to FIG. 25, the circuit board 2010 can be designed at a high level with functionality to promote extended battery life and facilitate more detailed data recording. The entry point 2014 can be configured as a data connection point and, in this example, is shown here as a mini-B universal service bus (USB) connector 2100, when direct connection is applicable. When connected to a USB cable this is a hard-wired data and power connection 2102. The mini-B USB connector 2100 is electrically coupled to a USB to serial universal asynchronous receiver/transmitter (UART) controller 104. This UART to USB controller 2104 comprises an integrated modem with up to 3M Baud, a virtual communications (COM) port, and a +3.3 V level converter that operates on 8 mA or so. For instance, the FT231X integrated circuit meets these specifications. In effect, the UART to USB controller 2104 provides functionality to update firmware in the remainder of the system providing for substantially greater upgrades and improvements than other devices in this field. In examples, the UART to USB controller 2104 can be electrically coupled to a transmitter/receiver status light emitting diode (LED) 110 that can indicate if a firmware update is occurring.

In examples, force sensor 2120 can be electrically coupled to a first general purpose input/output pin GPIO 1 2122. The force sensor 2120 can be a resistive based force sensor with a voltage divider for analog input. In these examples, the force sensor 2120 will typically draw less than 1 mA of current from the UART to USB controller 2104. When force is imparted on the force sensor 2120, the circuit board 2010 can wake up and begin to operate (or operate beyond minimal operation). The force sensor 2120 can be a force-sensing resistor. For instance, the FSR 2400 single zone force-sensing resistor can meet these requirements.

In examples, the UART to USB controller 2104 can be electrically coupled to a Bluetooth/uC Module 2130. The bluetooth/uC Module 2130 can be configured to send data to and receive data from the UART to USB controller 2104. In some embodiments, Bluetooth/uC Module 2130 can be an RFduino stand-alone board that can be configured with an ARM Cortex processor and Bluetooth Low-Energy 4.0 built-in. In such examples, this would typically consume 20 mA peak and 9 mA normal. It is equally possible, that the Bluetooth/uC Module 2130 can include two modules: a microprocessor and a communication circuit which can be separated. While a Bluetooth communication circuit may be the easiest way to transmit data, data can also be transmitted through the mini-B USB connector 2100. Further, there is any number of possible wireless communication systems that could be used such as radio frequency, Wi-Fi, near field communication and other forms of electromagnetic or wired communication.

In some embodiments, the Master Out Serial In (MOSI) pin GPIO 2 2132 on the Bluetooth/uC Module 2130, the Data Clock (SCK) pin GPIO 4 2134, the Master In Serial Out (MISO) pin GPIO 3 2138, and the CS-MPU pin GPIO 5 2140 are electrically coupled to the nine-axis motion monitor 2142. The nine-axis motion monitor 2142 may, for example, be an IMU. The nine-axis motion monitor 2142 is configured to measure and transmit data about all of the positioning of the circuit board 2010 while in motion of any kind. In many examples, this can include a Tri-axis gyro up to 2000 dps, tri-axis accelerometer up to 16 g, a tri-axis compass up to 4800 uT, and programmable interrupt. This would typically consume 4 mA. For instance, the MPU-9250 provides this functionality. In many examples, this triparate functionality to monitors exact orientation and track where the firearm travels in terms of rotation, speed, and direction. In some cases, the tri-axis compass can be accomplished with a magnetometer. Recoil and/or shot count resulting from firearm discharge can be identified from the gathered data.

MISO pin GPIO 3 2138, SCK pin GPIO 4 2134 and MOSI pin GPIO 2 2132 are further electrically coupled to serial flash memory 2150. In many examples, the serial flash memory 2150 can operate in double transfer rate or DTR mode in some cases a gigabyte of memory formed by 256 MB die, with 100,000 erase cycles per sector. In these examples, such an arrangement can draw 6 mA. The serial flash memory 2150 can be further electrically coupled to CS-Flash pin GPIO 6 2152 on the Bluetooth/uC Module 2130. In these examples, the N25Q00AA flash memory meets this requirement.

MISO pin GPIO 3 2138, SCK pin GPIO 4 2134 and MOSI pin GPIO 2 2132 can be further electrically coupled to a GPS Module 2160. The GPS Module 2160 is further electrically coupled to CS-GPS pin GPIO 7 162 on the Bluetooth/uC Module 2130. The GPS module 2160 can be configured to determine position within 2.5 meters of accuracy with a 10 Hz update rate, internal real time clock, onboard read only memory, and −167 dBm sensitivity. In these examples, this can operate continuously with a draw of 30 mA continuous and 7 mA while in power save mode (1 Hz). For instance, The U-BLOX™ CAM-M8Q chip antenna module can meet this requirement. There are a lot of other kinds of GPS systems that could be equally acceptable including Glonass™, Beidou™, etc.

In some embodiments, the mini-B USB connector 100 is electrically coupled to the UART to USB controller 2104 for sending data D+ and receiving data D-, however, it need not operate on that voltage. Accordingly, circuit 2010 can be configured to have a system that both rapidly charges the battery 2012 and permits data exchange. In these examples, the mini-B USB connector is electrically coupled to a battery charger 2166. The battery charger 2166 is electrically coupled to battery 2012 with a switch 2168. The battery charger can be set to 500 mA and include a sense current, reverse discharge protection, and automatically power down. For instance, charger MCP73831 can meet these requirements.

FIG. 25 depicts embodiments with a lithium polymer battery, but other kinds of batteries can be used as well. One battery 2012 can provide 3.7 V and have an 850 mAh capacity. The battery 2012 can be electrically coupled to a low dropout (LDO) regulator 2170. The LDO regulator 2170 can step down the voltage from 3.7 V to 3.3V to provide power at a voltage that can be used by the UART to USB controller 2104 and the Bluetooth/uC Module 2130. The LDO regulator 170 can be configured to provide 300 mA output, 270 mV dropout, output fixed at 3.3 V, reverse battery protection with no reverse current, and overcurrent protection. For instance, LDO regulator LT1962 can meet these requirements. In these examples, the GPS module would typically operate at 3.7 V.

FIG. 24 provides examples of connecting these components. The battery connection PI 2172 provides a battery voltage and is attached to ground and the switch SI 2174 toggles whether the battery voltage is sent to the rest of the system. The battery charger U3 2178 is connected to the battery 2012, and a voltage source and, when charging engages LED C2 2180. The LDO regulator U6 2182 can drop the battery voltage to 3.3 V. The Mini-B USB connection J1 2184 can be joined for data purposes to UART to USB circuit U1 2188. The UART to USB Circuit U1 2188 can receive data from Bluetooth uC/Module U4 2190, which can receive data from the nine-axis motion monitor U7 2192, serial flash memory U5 2194 and the GPS Module U2 198.

FIG. 26 depicts embodiments of an electronic system 2200 that may take the form of a computer, phone, PDA, or any other sort of electronic device. The electronic system 2200 can include various types of computer readable media and interfaces to read and write to various other types of computer readable media. The electronic system 2200 can include a bus 2205, processing unit(s) 2210, a system memory 2215, a read-only 2220, a permanent storage device 2225, input devices 2230, output devices 2235, and a network 2240.

FIG. 27 depicts embodiments of components for a firearm usage monitoring system 2800 including an IMU including gyro/accelerometer 2802, GPS 2804, force connector 2808, power input 2810, battery charger 2812, laser 2814, regulator 2818, USB connector 2820, flash memory 2822, Bluetooth™ 2824, programmable hardware 2828, and the like.

FIG. 28 depicts embodiments of the firearm usage monitoring system 2800 integrated into a grip 2900 of a weapon 2902. A circuit 2908 board having one or more of the combinations of the components illustrated in FIG. 27 can be disposed within the grip 2900 of the weapon 2902 and can be integrated so that it is almost invisible to the user other than the presence of USB ports 904 that can be covered by the hand of the user when the weapon is gripped or can be omitted altogether in some embodiments.

With reference to FIG. 26, the bus 2205 can collectively represent all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of the electronic system 2200. For instance, the bus 2205 can communicatively connect the processing unit(s) 2210 with the read-only memory 2220, the system memory 2215, and the permanent storage device 2225. From these various memory units, the processing unit(s) 2210 can retrieve instructions to execute and data to process in order to execute the many processes disclosed herein. The processing unit(s) may be a single processor or a multi-core processor in different embodiments.

In embodiments, the bus 2205 also connects to the input and output devices 2230 and 2235. The input devices 2230 can enable the person to communicate information and select commands to the electronic system 2200. The input devices 2230 can include alphanumeric keyboards, pointing devices “cursor control devices”, and the like. The output devices 2235 can display image generated by the electronic system 2200. The output devices 2235 can include various printers, display devices and touchscreens that can function as both input and output devices.

The bus 2205 also couple the electronic system 2200 to the network 2240 through a network adapter. In this manner, the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an intranet), or a network of networks (such as the Internet).

These functions described above can be implemented in digital electronic circuitry, in computer software, firmware or hardware. The techniques can be implemented using one or more computer program products. Programmable processors and computers can be packaged or included in mobile devices. The processes may be performed by one or more programmable processors and by one or more set of programmable logic circuitry. General and special purpose computing and storage devices can be interconnected through communication networks. Some embodiments include electronic components, such as microprocessors, storage and memory that store computer program instructions in a machine-readable or computer-readable medium (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media). The computer-readable media may store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations. Examples of computer programs or computer code include machine code, such as is produced by a compiler, and files including higher-level code that are executed by a computer, an electronic component, or a microprocessor using an interpreter.

With reference to FIGS. 25 and 28, the hardware and software, in embodiments, can be activated using one or more of any form of user feed sensor 2840, force sensor 2842, wireless remote 2844, remote on/off switch 2848, and the like. Moreover, the hardware and software can be activated using one or more mobile device 2850, user wearables 2852, dedicated hardware token 2854 making a wireless or wired connection, or the like. In embodiments, the firearm usage monitoring system 2800 may operate with the following instructions: receiving a signal from a force sensor 2842 such as the force sensor 2120 (FIG. 25). If the signal is present, then the firearm usage monitoring system 2800 can engage, or the system 2800 can remain in a dormant or sleep mode with a low voltage draw as described herein. If the signal of the force sensor 2842 is on, then the Bluetooth UC/Module 2130 can receive a signal from the GPS module 2160 as to where the system 2800 is presently located. As noted above, one or more signals including those from the force sensor 2120, 2842 can activate the system 2800. Once the system 2800 is active, the IMU 802 (FIG. 27) can provide information as to how the firearm 2020 is oriented and moved in 3D space until, in some embodiments, pressure released on the grip 2024. The system 2800 can determine whether the firearm 2020 has been motionless for a preselected period, or the information is specifically queried. Information as to how the firearm 2020 is oriented and moved in 3D space can include analyzing the firearm 2020 for recoil and/or shot count when fired to discern orientation, direction, and position at the time of discharge. In examples, this data can be stored in the flash memory 2150 and can be transmitted through the Bluetooth uC/Module 2130 to another Bluetooth compatible device. The information including orientation, direction, and position can be also transmitted from the firearm 2020 at preselected time intervals, specific times, distances from certain locations (e.g., predefined geo-fencing locations or distances), at the time of discharge, at the time of reload of rounds 2030, when the safety 2034 (FIG. 21) is removed, and the like.

In embodiments, the firearm usage monitoring system 2800 may record the motion of the firearm 2020 and provide geolocation information 2858, which may be coordinated with other information, such as disclosed herein. In embodiments, the system 2800 may transmit data via the network connection 2240 (FIG. 26), such as a cellular network, to a remote server, which may be a secure server, or other remote processing components, such as the mobile device 2850, cloud platform 2860, or the like. In embodiments, the system 2800 may include efficient architecture and components for low power consumption including energy harvesting mechanisms 2862. In examples, the system 2800 can harvest the energy of motion of the firearm or energy from the recoil to provide power for storage and/or reporting of data. In embodiments, methods and systems provide rapid, efficient determination of location. The energy harvesting mechanisms 2862 may also be configured to harvest local energy in the radio frequency (RF) domain or other appropriate local electromagnetic signals of sufficient strength.

In embodiments, the network connection 2240 (FIG. 26) by which the system may communicate data may be a mesh network connection 2864. With reference to FIG. 30, the mesh network connection 2864 may be a connection to one or more other firearms or one or more other devices, such as a mobile robot 2868, an infrastructure device 2870, or the like. The mesh networking connection 2864 may form part of a large mesh network, allowing devices, such as firearms and mobile robots, to communicate directly with one another, rather than having to first connect through a centralized network communication hub, or as a supplement to communication by one or more devices to such a hub. Such devices may include self-disposing devices 2872, for example, self-disposing mobile robots. In embodiments, the mesh network 2864 may be a self-organizing and fluid mesh network that organizes and reorganizes itself based on specified data, including data filtered or weighted based on specified criteria, and/or the dynamic detection of other devices, for example with a geographic perimeter. Other devices may include deployable mesh network hubs 2872, also known as “pucks”, beacons, wireless access points, such as Wi-Fi access points, lighting systems, cameras, and the like. The mesh network 2864 may also include asset management systems, crowdsourced communications, frequency scanning networking, cellular mesh networking or other systems. In embodiments, devices on the mesh network 2864 may adjust location information based on the relative movement of each other within the mesh network 2864. In embodiments, the relative movement of devices may be reported by other devices within the mesh network 2864 over the mesh network 2864, such as to the self-disposing devices 2872. The relative movement of other devices may also be derived from IMUs disposed with the other devices within the mesh network 2864. Relative movement information may include speed, velocity, acceleration or position information, and/or event identification information 2874. Such information may include threat identification information, shot accuracy information and the like. Event identification information may include weapon information, information indicating a person is in an unauthorized area, soldier maneuver information (e.g., speed, direction, activity, or the like), in-position information (such as for an individual or a device), rate-of-fire information, alternating fire information, maintenance required information, stoppage event information, ammunition expenditure information, fight or struggle information and the like. In embodiments, authentication information may be received from radio frequency identification (RFID) implants, for example, implanted in the person. In embodiments, the relative movement, such as among devices in the mesh network 2864 like firearms 2020 and other equipment may be provided relative to at least one geographic location, such as through the use of data from the IMUs or from one or more other data sources. In embodiments, location may relate to relative locations of one or more other firearms or other devices connected to the mesh network 2864, such as the distance, direction, and/or movement of one or more other firearms 2020 or other devices relative to a given one. In such embodiments, geographic location and movement information 2858, whether relating to a location or to another firearm or other device may be communicated to a given firearm or other systems of an individual handling a firearm over the mesh network 2864. In embodiments, the geographic location may be an underground geographic location, where other geographic location detecting signals, such as GPS are not available. In embodiments, a combination of geographic location and relative location may be understood by the system, such as where at least one member of a mesh network has a detectable location (such as by GPS signal) and other members have locations that are determined relative to the known member, such as by detecting motion through the IMU 2802 or other non-GPS systems. It may be appreciated from these embodiments that using data from the IMU 2802 on the mesh network 2864 may allow the firearm usage monitoring system 2800 to provide discharge location information in geographic locations that may not otherwise be covered by geographic location detecting signals.

In embodiments, the mesh network 2864 connection may be a wireless mesh network connection and may be configured based on radio communication frequencies. In some situations, radio communication frequencies may be subject to interference or jamming, either intentionally or otherwise, making communication difficult or impossible when attempting to establish a connection over the compromised frequency. Interference or jamming may include radio frequency interference or jamming, optical jamming, noise, and the like. Because of the risk of jamming, and because communication reliability may be critical for user of the firearm usage monitoring system 2800, the firearm usage monitoring system 2800 may detect such jamming of one or more frequencies and automatically adjust the frequency of the mesh network 2864 to avoid using the compromised frequency, such as by selecting a frequency not currently subject to interference or jamming. The firearm usage monitoring system 2800 may then establish a wireless mesh network connection with another device using the selected frequency. Jamming or interference detection may include detecting attempted signal interception and scrambling transmitted information to avoid the detected signal interception.

In embodiments, the firearm usage monitoring system 2800 may determine discharge information 2878 related to the firing of the firearm 2020 connected to the mesh network 2864. The discharge information 2878 may include discharge location, direction of the discharge, a motion path of the firearm preceding discharge and/or orientation of the firearm at discharge. Orientation information 2880 may be provided by the IMU 2802 and may include enemy area location and size information, unsafe act information, line of fire information, shift fire information, sectors of fire information, interlocking fire information, 360 degree perimeter security information and the like. The discharge information 2878 may be determined from motion and location information, such as provided by devices connected to the mesh network. For example, the discharge location may be determined from geographic location data of one or more firearms connected to the mesh network 2864 and may use relative movement data provided by the other devices connected to the mesh network 2864, for example by analyzing relative movement data that is based on resident IMU data from other firearms connected to the mesh network 2864. In embodiments, methods, systems and components are provided for a small-footprint firearms tracking system 2882, such as one of the dimensions less than 25 mm×25 mm×4.55 mm). In embodiments, the firearm tracking system 2882 may identify movements and actions while in sleep mode such as to trigger transmission of alert codes. In embodiments, the firearm tracking system 2882 may be adapted for integration with various gun platforms, such as to interface with different grips, handles, and other internal and external firearm components and accessories, including being integrated entirely into the grip of the firearm. In embodiments, the system may use over-the-air updates, may act as or integrate with a beacon 2884, such as a BLE Beacon, which may be charged by wireless charging and may record data (such as IMU data) when in the active or inactive mode (such as to flash memory) and may enable a sleep/hibernation mode. In embodiments, components are provided for a small-footprint firearms tracking system 2882 may include Simblee (Bluetooth Low Energy, Microcontroller Unit), Micron N25Q256A13EF840E (256 Mbit Flash Memory), MPU9250 (9 axis accelerometer, gyroscope, and magnetometer IMU), ORG1411-PM04 (Origin GPS Nano Hornet, 2.7 V), FSR-400 (Force Sensor), 800 mAh LiPo Battery, Battery Charger (MCP73831), 2.7 V Regulator (MIC5365), 3 V Laser, and/or UB-MC5BR3 (Waterproof USB connector).

In embodiments, the system may function in active modes, sleep modes and/or hibernation modes. In the active mode, the device may be in full power mode, such as using power for collecting readings from the IMU and GPS and transmitting them via a local protocol like BLE to an edge device. The laser module 2814 may also be activated. In embodiments, data can be sent in this format at relatively high data rates, such as at 30 messages/second, 50 messages/second, 100 messages/second, or the like. A sample string may include AB-FC-22-CC-B3-00-00-00-00-00-00-00-00-00-00-00-00-5E-89-5A-00-71-3E-E6-C0-FA-18-9C-00-00-20-75-3F-00-80-52-3E-00-00-19-3E-00-00-64-40-67-66-00-C 1-34-33-6B-00-01-B A. The guide may be as follows: AB (header), FC-22-CC-B3-00 (millisecond timestamp), 00-00-00-00 (latitude), 00-00-00-00 (longitude), 00-00 (altitude in meters), 00 (horizontal accuracy in meters), 5E-89-5A-C0 (gyro x), 71-3E-E6-C0 (gyro y), FA-18-9C-C0 (gyro z), 00-20-75-3F (accel x), 00-80-52-3E (accel y), 00-00-19-3E (accel z), 00-00-B4-40 (mag x), 67-66-00-CI (mag y), 34-33-6B-C0 (mag z), 01 (unit status), BA (footer). A millisecond timestamp may be used, such as in a modified Unix timestamp, e.g., for milliseconds after Jan. 1, 2016. If BLE is unavailable or a message is not sent, this may be stored in the flash memory 2150, 2822 to be sent when the device enters sleep mode. The Active mode may be triggered when force is applied to the force sensor 2120, 2822. Depending on the configuration, the system 2800 may remain in the active mode for a specified time, such as two minutes after the force is no longer applied, for five minutes, for ten minutes, or the like. This timer may be reset when force is reapplied. In embodiments, the laser module 2814 may be turned on at limited times, such as when the force applied to the force sensor (optionally based on the mode or regardless of the mode). This mode may consume, for example, around 70 mAh of energy. The unit may also power down into a “sleep” mode, such as when there is no longer force applied to the unit and the timer has gone down (indicating expiration of active mode). In such a sleep mode, one message may be sent at a defined period, such as once per second, such as containing the timestamp, location data, and current orientation data 2880. The GPS module 2160, 2804 may enter an ATP (adaptive trickle power) state where it cycles between full power and ATP to minimize power consumption while maintaining a fix on its location. In embodiments, a location fix may be maintained consistently, regardless of power mode. In embodiments, the IMU may be polled at a low rate, such as to monitor movement. If no movement is sensed for a given time, such as five minutes, then the unit may go into another even lower power mode, referred to herein as a hibernation mode. In such as hibernation mode, the unit may continue to send messages (e.g., one per second), such as containing the timestamp, location data, and current orientation data. The GPS module 2160, 2804 may enter hibernation where it consumes, for example, under 1 mA of power. The IMU 2802 may still be polled at a low rate. If movement exceeds a certain threshold, the unit may go into sleep mode and the GPS module 2160, 2804 may wake up to maintain a location fix. This mode may consume, for example, under 7 mAh.

In embodiments, the firearm usage monitoring system 2800 may communicate with external systems, such as by delivering reports, events, location information, and the like. In one such embodiment, a signal may be provided to a camera system 2880, such as a body camera worn by an individual, to initiate recording by the camera, such as recording video of a scene involving the individual. For example, the camera system 2888 may initiate recording upon receiving a signal indicating that a weapon has been raised into an aiming position so that the situation in which that activity occurred is recorded. By triggering the camera system 2888 to activate one or more body cameras upon such events, use of the body cameras may be limited to key situations, potentially reducing the storage and data transmissions requirements for capturing, storing and transmitting video data over networks, which can be very expensive if large amounts of video are captured for normal daily activities for which there is little use for recorded video. In these examples, the information obtained from the camera can be with permission and only in certain geographic zones to support privacy requirements for various situations. In these examples, the information obtained from the camera can support facial recognition functionality. In further examples, the information obtained from the camera be of reduced quality to support faster capture but otherwise not support facial recognition functionality or other post-processing requiring substantially high resolution. Thus, the firearm usage monitoring system 800 may enable a much more efficient overall monitoring system, including one that records video involving the user of the firearm 2020.

In embodiments, data, such as various firearm usage events (such as gripping the firearm, raising the firearm, discharging the firearm, moving around with the firearm, entering defined locations with the firearm, and the like) may be stored, analyzed, and provided, either in raw form or in various packaged feeds, such as analytic feeds, to external systems. With reference to FIG. 28, one class of system that may consume such data and/or analytics is an insurance system 1050, where such data may be used for various purposes, such as for underwriting and pricing insurance contracts (such as for liability insurance, accident and hazard insurance, health insurance, life insurance, and others) involving one or more individuals or groups for whom firearm-related activity is monitored by the methods and systems disclosed herein. This data may be used for actuarial purposes (such as to predict the likelihood of adverse events involving firearms, such as accidents or other problems), as well as to compare the relative safety of a given group as compared to one or more cohorts. For example, a security firm that wishes to obtain liability insurance can be compared to other security firms in the same industry or area, and the extent to which weapons are gripped, raised, or discharged can be considered in determining whether to issue insurance and at what price insurance should be issued. This may include data related to on-the-job events as well as data related to training (such as where consistent usage in training situations may serve as a favorable indicator for underwriting).

Methods and systems are provided herein for identifying discharges and counting shots, discharges, etc. Conventional technologies for doing so typically require a spring in the magazine and a system for detecting where the spring is positioned. For example, as another bullet went into the chamber of the weapon, the spring position helped measure rounds in a magazine. By contrast, the present disclosure provides an external solid-state device that can be attached to the firearm 2020 to register when one or more shots are fired. The discharge has a unique, detectable, physical profile (i.e., a discharge has recoil that has a particular motion profile, sound profile, and the like). A recoil measuring system 3052 may use an IMU, including or combined with motion-detecting/sensing elements, including one or more accelerometers, gyros, magnetometers, and the like. In embodiments, a map is developed based on analyses of discharge events to the map the entire motion sequence caused by a typical discharge. That motion profile, which may be unique to each weapon platform and user, can be stored and used as a basis for comparing future sensed data to determine whether a discharge event has occurred. Similar profiling can be used for each weapon type to determine whether the firearm has been raised to an aiming position or out of the holster position.

In embodiments, a firearm usage monitoring system 2800 may allow a user to validate a threat, for example in a combat situation. A firearm usage monitoring system 2800 may establish a pressure signature 3054 to validate the threat. The threat may be validated by the firearm usage monitoring system 2800 by comparing the pressure signature against a range of pressure signatures, for example from no pressure to extreme pressure.

In embodiments, the pressure signature 3054 may be established by collecting information, from sensors, on or around the firearms and the like. In embodiments, sensors may be wearable sensors 3058, such as from an armband, a watch, a wrist band, glasses, a helmet or other headgear, an earpiece, or the like, or may be combined with other sensors, including multi-modal sensors 3060. Sensors may also include other wearable sensors, firearm motion sensors, firearm orientation sensors, firearm discharge sensors and combinations of sensors. Combinations of sensors may include combinations of wearable and firearm sensors, combinations of firearms and fixed sensors, for example, Internet of Things (IoT) sensors, and the like. A sensor-equipped firearm may include a pressure sensor, for example, to determine a grip profile using information such as threat ID, shot accuracy, engagement, alert information and tactical information. Information collected from a sensor-equipped firearm may include discharge information, motion information, rate of motion information, orientation information and the like. The rate of motion information may include movement information related to speed, threat identification and shot accuracy. Movement information may also be related to an event identifier for events, such as events associated with weapons and people. Events associated with firearms may include events indicating the firearm has fallen, is outside of a pre-designated distance from its owner, in an unauthorized area and the like. Events associated with people may include events indicating a person is in an unauthorized area, the maneuvering speed of the person and the like. Determining the pressure signature 1054 may also include determining a firearm-specific candidate action of a first firearm user, from at least a portion of the collected information. The candidate action may be compared with other firearm users, for example, other firearm users proximal to the first firearm user or other firearm users associated with the first firearm user. The collected information, candidate action or actions, and action comparison result may then be stored in a data structure that represents the pressure signature 3054. The collected information, candidate action or actions, and action comparison result may also be filtered or weighted based on specified criteria, prior to being stored in the data structure that represents the pressure signature 3054.

In embodiments, the firearm usage monitoring system 2800 can provide alternatives for monitoring discharges, such as cameras, or augments those other monitoring systems. The methods and systems disclosed herein may include image recognition, which can identify the flash of a muzzle or for the slide rocking back. The system may also have acoustic abilities and may provide sound recognition.

In embodiments, the firearm usage monitoring system 2800 can include an infrared gate in front of the ejection port. This gate 3062 can track a disconnect when the weapon is fired, such as when the shell is engaged and breaks the gate 3062. In embodiments, the firearm usage monitoring system 2800 may include a hall effect sensor 3064 to measure the motion of an internal part. In embodiments, the firearm usage monitoring system 2800 can capture the discharge profile of a given weapon by using an IMU. The discharge profile may have unique inertial characteristics when a weapon is discharged, such as based on the geometry, distribution of weight, specified ammunition, and the like, so that a discharge can be profiled and identified based on a series of movements that are measured by the IMU. In embodiments, the firearm usage monitoring system 2800 may track with a global positioning system (GPS). In embodiments, the firearm usage monitoring system 2800 includes network reporting facility, such as through a Bluetooth discharge report to a centralized server. In embodiments, the firearm usage monitoring system 2800 can also measure when a hand is on the grip of the weapon indicating a threatening situation. This sensor, button, or switch can provide valuable data, such as by alerting others to a potentially dangerous situation.

In embodiments, the firearm usage monitoring system 2800 can include an activity monitor which will indicate events such as when the gun is elevated and being pointed.

In embodiments, the firearm usage monitoring system 2800 can include a slim profile, waterproof enclosure to house the electronics and housing. In embodiments, the firearm usage monitoring system 2800 includes a grip-integrated reporting device including GPS technology. In embodiments, the firearm usage monitoring system 2800 can be customized with various grip configurations and textures, such as to fit any kind of weapon with a familiar, comfortable type of grip that is typical for that weapon.

In embodiments, the system 2800 can be integrated with other systems and accessories. For example, a visible light (such as green or red) or infrared laser pointing module 2814 can be integrated with the grip, such as to help with target acquisition, a flashlight to improve visibility, or a range finder also for target acquisition.

In embodiments, the firearm usage monitoring system 2800 contains a wireless charging system for the firearm discharge device to facilitate greater ease of use.

In embodiments, the firearm usage monitoring system 2800 can allow for manual or automatic calibration of the laser designator. In embodiments, the firearm usage monitoring system 800 can detect alternative tracking systems when in a denied GPS location; for example, the system can triangulate with cellular to provide an initial location to increase the speed recognition of location or the system can triangulate with Wi-Fi or other beacon technologies. In embodiments, the firearm usage monitoring system 2800 can augment GPS with IMU to maintain relative position over time. The system can then provide better accuracy on physical location within a building that cannot support GPS tracking. In embodiments, the firearm usage monitoring system 2800 integrates with GPS-denied navigation systems.

In embodiments, the firearm usage monitoring system 2800 can augment the physical location detection with depth sensors and camera systems to gather data.

In embodiments, the firearm usage monitoring system 2800 can provide data storage. The system gathers data when the device is gripped through minutes after the device is disengaged. If the device cannot transmit to the edge device on the network (e.g., not available, out of range), it may store (e.g., for up to 30 days) in onboard memory (e.g., through high data rate memory). Once available, the system may restart the transmission process, so that the data is sent over.

In embodiments, the firearm usage monitoring system 2800 has an ecosystem for data. In embodiments, data may be aggregated, such as to create an aggregate database for firearms data, with various metrics that can be applied to that kind of data, such as indicating groups or locations that use weapons with varying frequency, that undertake more or less training, and many others.

In embodiments, the firearm usage monitoring system 2800 can provide power management capabilities. If the device is in motion but not in use, the low power mode (e.g., with occasional pinging) may be implemented to maintain general awareness of the location of the user. The device transmits a location every one second. If not used for a period of time, (e.g., for ½ hour) the device may send one message at a defined interval, such as every second, every minute, every one-half hour, every hour, or at other intervals.

In embodiments, the firearm usage monitoring system 2800 can provide inventory control. With monitoring, an alert can be sent and the weapon can be tracked. Thus, for a manager, the system may provide locations of all weapons of a given force at any given time.

In embodiments, the firearm usage monitoring system 2800 can provide firearm maintenance. With monitoring, the system may provide data on the number of rounds discharged and which gun components need maintenance or replacement.

In embodiments, the firearm usage monitoring system 2800 can provide real-time tracking of users when in motion. This can identify where the device and users are at any time and when the weapon is in motion.

In embodiments, the firearm usage monitoring system 2800 can integrate with the body camera systems 2888 and automatically activates when the device is gripped or in motion. The body camera data can then be streamed in real-time when in use. In embodiments, the firearm usage monitoring system 2800 can be activated when motion is detected from the body camera system 2888.

In embodiments, the firearm usage monitoring system 2800 can integrate with wearable devices 1058, such as activity monitors. It can integrate with mobile devices and the Emergency Response Data communications architecture.

In embodiments, the firearm usage monitoring system 2800 can include geofence-based alerts. The geofence capability can be implemented around a warehouse where weapons are stored to track weapons for inventory control or threatening situations.

In embodiments, the firearm usage monitoring system 2800 can include personnel information including home addresses for location-based reaction when granted permission where applicable.

In embodiments, the firearm usage monitoring system 2800 includes a dashboard user interface 3068. Views available on the interface 3068 can include maps and can be populated with icons showing exact locations of weapons. Each of the icons can include all personnel information for the weapon, status, and includes a button to zoom in on that location (and drill down on the data). In embodiments, the firearm usage monitoring system 2800 provides aggregating units in the dashboard user interface 3068. When the views on the inter-face 3068 become too dense with overlapping icons, the map may adjust to include a new icon symbolizing multiple units within the specific area.

In embodiments, the firearm usage monitoring system 2800 provides software-aided dispatch integration. The software used for monitoring firearms can replace or augment the current computer-aided dispatch system to gain efficiency in call response and have one program to be more effective.

In embodiments, the firearm usage monitoring system 2800 can integrate with Police Evidence Collection Systems, such as providing a centralized software suite that gathers the evidence information and can also allow certain users to view and upload the information, creating efficiencies across departments.

In embodiments, the firearm usage monitoring system 2800 can allow individuals to review and replay firearm data as part of evidence collection, training, and/or auditing purposes.

In embodiments, the firearm usage monitoring system 2800 can integrate with shooting ranges and retail point of sale (POS) inventory and maintenance systems 3070.

In embodiments, the firearm usage monitoring system 2800 can integrate with the flight deck of an airplane and otherwise not be included in a firearm or system. The system 2800 may provide an IMU in the plane's steering wheel for further tracking purposes.

In embodiments, the firearm usage monitoring system 2800 can integrate with the controls of cargo ships, and the like. The system may provide an IMU in the ship's steering wheel for further tracking purposes. In embodiments, the system 2800 may be deployed to provide tracking within shipping containers.

In embodiments, the firearm usage monitoring system 2800 can integrate with various vehicles and inventory to provide fleet and/or inventory management.

In embodiments, the firearm usage monitoring system 2800 can adapt to a large variety of firearms with various grip options.

In embodiments, the firearm usage monitoring system 2800 provides over the air (OTA) updates for software upgrades.

In embodiments, the firearm usage monitoring system 2800 can integrate with original equipment manufacturer (OEM) components such as IMU, GPS, and Bluetooth.

In embodiments, the firearm usage monitoring system 2800 provide, integrate with, or connect to the machine control system 3000 and machine-learning systems 3072 including custom algorithms for determining recoil of the firearm and other behaviors or characteristics of the system. For example, in embodiments, the firearm usage monitoring system 2800 can include one or more machine learning systems 3072 with one or more identification methodologies to determine the complex motion associated with the discharge of a particular type of weapon. Embodiments may include feeding IMU data collected upon gripping, movement, and discharge of weapons into the machine learning system 3072, so that the system can learn the parameters of each with respect to enough training events that it can rapidly and accurately identify new events based on new IMU data, such as collected in real time. In embodiments, the system 3072 can be trained to learn to identify a threatening situation when the grip is engaged and the firearm is pointed, when the motion has increased indicating a pursuit, and when it is not in motion (e.g., placed in sleep mode). More complex patterns can be learned, such as determining what patterns tend to lead to accidents, dangerous incidents, higher quality training, and the like.

In an example of learning and utilization of a complex pattern, a firearm usage monitoring system 2800 may use the machine learning system 3072 to determine firearm movements that may indicate a discharge from the firearm is imminent. In this example, the machine learning system 3072 may, for example, detect motion and orientation data from sensors, such as from sensors on the firearm 2020, sensors in the mesh network 864 (including other firearms) or wearable sensors (e.g., multi-modal sensors) of the human user of the firearm, which in turn may be used by the machine learning system 3072 to facilitate a threat response. In embodiments, a threat response may include an automatic threat response, such as by one or more machines that are teamed with the human user of the firearm 2020.

In embodiments, the machine learning system 3072 may determine combinations of data, such as motion, orientation and multi-modal sensor data that are indicative of imminent discharge of the firearm.

The machine learning system 3072 may also receive other inputs or generate information to combine with the sensor data, such as an indication of a firearm state. Firearm states may include combat states, training states, wartime states, peacetime states, civilian states, military states, first responder states, incident response states, emergency states, on-call states, and the like. Firearm states may be states from one or more than one firearm, for example, a set of firearms associated with a group of soldiers in the same section of a battlefield or a set of police officers in a region.

Combinations of data may allow the machine learning system to recognize, determine, classify, or predict information, such as about environments, objects, image content, whether a person is friendly or adversary, structures, landscapes, human and human gestures, facial indicators, voices, and locations, among others. Example combinations may include combinations of data from topography and physiological monitors, ISR, and structure recognition combinations, as well as combinations of human and machine physical states. Combinations of data may also be tactical combinations. Tactical combinations may combine data from devices on a battlefield, information about other sectors of fire, and the like and may include firearms and other weapons, vehicles, body armor and other wearable elements, and the like (collectively referred to herein as “battlefield of things”) devices including, for example, remotely operated units such as Common Remotely Operated Weapon Stations (CROWS) or other remote controlled firearms that may be configured with heavier calibers and higher lethality.

Objects that may be recognized by machine learning may include weapons, man-made objects, natural objects, and the like. Structures may include doors, stairs, walls, drop-offs, and the like. Human gestures may be detected, interpreted and understood by the machine learning system, while facial indicators could be indicators of mood, intent, and the like. The machine learning system 3072 may use thresholds to assist with determination and recognition process. For example, combinations of data exceeding specified levels may provide a high degree of confidence that the recognition process is accurate.

In embodiments, the machine learning system 3072 teamed with the human user of the firearm 2020 may be operated autonomously, for example, in response to a determined intent of the human user of the firearm 2020 teamed with the machine learning system 3072. The firearm usage monitoring system 2800 may detect gestures of the human firearm user, such as by capturing and analyzing data from sensors that detect conditions of the human, as well as firearm sensors. Sensors that detect conditions of the human may include multi-modal sensors and multi-modal wearable sensors. Gestures may include pointing gestures, threat identification gestures, target acquisition gestures, signaling gestures and the like.

In embodiments, conditions recognized by the machine learning systems 3072 or sensed in order to facilitate the training of the machine learning system 3072 may include conditions indicative of human states, such as stress and other physiological states. Conditions indicative of human states 3074 and captured by sensors for analysis by the firearm usage monitoring system may include heart rate conditions, for example, physical state relationships, blood pressure conditions, body temperature, galvanic skin response, heat flux, moisture, chemistry (for example glucose levels), muscle states and neurological states. Various biological conditions or biosensors may be indicative of threats, such as heart rate conditions, body temperature, moisture (such as indicating excessive perspiration), blood pressure, galvanic skin response, and others. Firearm sensors may be multi-modal firearm sensors and may include sensors that detect motion, orientation and discharge state of the firearm 2020.

Analyzing the data by the firearm usage monitoring system 2800 may produce a set of candidate intents 3080 of the human firearm user or of another individual in proximity to the firearm user (such as where camera information, voice information, and the like is available). The candidate intents 3080 may, in embodiments, be combined with physical and operation machine state information to select one or more action plans 3082. The machine teamed with the human user of the firearm 2020 may then execute and adjust the selected action plan 3082 based on updated intents, machine states, and environmental factors. Machine state factors may include physical factors, operational factors, orientation factors, tactile/force factors, and the like.

Environmental factors 3084 may include weather factors, location data factors, altitude factors, topography factors, video factors and the like. Weather factors may include temperature, humidity, wind speed, wind direction and precipitation factors, among others. Location data factors may include streaming data, as well as data acquired from global positioning systems (GPS) and beacons, access points or the like, as well as through cellular triangulation. Topography factors may include data and observations, while video factors may include both live and archived video feeds. The action plan 3082 may also be formed from a set of predetermined action steps, for example, action steps that each satisfy human teaming criteria selected to coordinate with at least one of the candidate intents 3080. Actions steps may also be arranged into action plans by sets of rules.

With reference to FIG. 31, the machine learning system 3072 may include the machine control system 3000 that may team with a human user of a firearm. In embodiments, the machine control system 3000 may receive multi-modal sensory input 3002 from multi-modal sensors. The multi-modal sensory input 3002 may send sensed data to a sensory analysis module 1004. The sensory analysis module 3004 may forward an actionable representation of the sensed data to a control scheduling process module 3006 and a real-time control process module 3008 for further processing.

The control scheduling process module 3006 may provide scheduling control information to the real-time control process module 3008 that may issue machine control scenarios to machine controller modules 3010. The machine control modules 3010 may affect the machine control scenarios, for example, by mechanization of the machine through a final control element module 3012. Machine control scenarios may include recognition of celebratory situations such as dancing scenarios and first bump scenarios separate from other human machine learning scenarios in much more threatening and complex environments. In many examples, the machine learning system 3072 may identify celebratory fire over threatening fire. In embodiments, one or more analysis-schedule-real-time modules 3088 (FIG. 33) may store information in a storage module 3014 for use as feedback/input to the machine learning system, such as feedback provided through feedback modules 3016, that then may adjust parameters for teaming. It will be appreciated in light of the disclosure that it may not be practical to hard code every combination of movement and therefore the machine learning system 3072 may be configured to identify one or more series of movements after being shown by one or more human users of other machine learning systems. By way of these examples, the machine learning system 3072 may learn the movements of the its users by translating and detecting their motion and comparing the identified motions in context with the environment in comparison with trained examples, confidence in those examples, corrections to past activity, and the like to assist, anticipate, protect, support, and facilitate the needs of the users in the theater more quickly and more safely.

In many examples, social interactions between human users and machines deployed with them must be learned by both parties. It will be appreciated that early stage robots (i.e., those incapable of expressing “feelings”) could improve the psyche of their human counterpart even with little mutual social interaction. With that said, many situations arise where mutually beneficial social interactions between the users and the machine learning system 3072 may improve the ability of the machine learning system 3072 to assist, anticipate, protect, support, and facilitate the needs of the users in the theater more quickly and more safely. Many situations are additionally good candidates to train the machine learning system 3072 to understand friendly environments over threatening situations. In these environments and situations, the machine learning system 3072 may need to learn how to interact more with human users in order to better produce a more intuitive experience. In much the same way as our homes may be associated with a certain smell or feeling, the machine learning system 3072 may need to understand and relate sensory inputs with other inputs and schedule specific actions and processes. If a human user and robotic machine counterpart enter the mess hall which is not a combat zone, the machine learning system 3072 would need to understand that a different set of actions or scheduling processes occurs in this environment when instructing its robotic machine counterparts (or other assets) in the area.

In embodiments, the machine learning system 3072 may manage a coordinated team of human users of firearms and at least one machine. In this embodiment, the machine learning system 3072 may receive as inputs at least one sensory input about a human and at least one sensory input about a machine that is part of the team coordinated with the human. The machine learning system 3072 may then automatically, using machine learning, determine the occurrence of an event, such as a pre-discharge event, a discharge event, a post-discharge event (including a post-discharge adverse event) or other events. The post-discharge adverse events may include injury to the human or occurrence of damage to the machine, such as subsequent to the detection of a firearm discharge event by the system.

In embodiments, the firearm usage monitoring system 2800 may be or include an all-in-one communication device 3090. The system may integrate with a variety of other communication devices, such as camera systems 2888 including body cameras, helmet cameras, heart rate monitors, physiological monitors, and messaging.

In embodiments, the firearm usage monitoring system 2800 may integrate with physiological monitors. A heart rate band or monitor can be an indicator of a distressed situation creating a notification.

In embodiments, the firearm usage monitoring system 2800 can integrate with mobile phone technology. The system can send critical messages in a timely manner, such as through an app that may be directly connected to dispatchers, such as allowing the caller to request assistance.

In embodiments, the firearm usage monitoring system 2800 may provide a dashboard for the dispatcher. The dashboard may include communication and mapping features, such as to track the location of all weapons in real-time, to highlight relevant events (such as weapons being gripped, weapons being raised, or weapons that have been discharged). The dashboard may provide access information from other systems, such as making available camera views, such as ones that are triggered by activation of body cameras or on-site cameras from the firearm monitoring system or from the dashboard. In embodiments, the firearm usage monitoring system 2800 provides a dashboard for the supervisor. In embodiments, the dashboard includes the communication system and mapping technology to track the location of all weapons in real-time. In embodiments, the firearm usage monitoring system 2800 separates users into groups/echelons with designated permissions. In embodiments, the firearm usage monitoring system 2800 provides a dashboard for one or more of ground units, officers, military personnel, an investigator/compliance officer, and the like. The dashboard may include the communication system and mapping technology to track the location of all weapons in real-time.

In embodiments, the firearm usage monitoring system 2800 measures the parameters of the recoil and parameters of pre-shot movement. This allows an analysis of changes over time to determine the status of the weapon. The system can also capture movements and determine whether the user is handling the weapon properly.

In embodiments, the firearm usage monitoring system 2800 may alert the user should the weapon be pointed at another person with a tracking system. The firearm usage monitoring system 800 may also alert the user should the weapon be pointed at another weapon, another deployed asset, another predefined target, raised quickly in a geo-defined zone, or the like. This may help avoid friendly fire (fratricide) situations.

In embodiments, the firearm usage monitoring system 2800 integrates with a virtual, augmented, or heads-up display (HUD) reality system 3092 including virtual, augmented reality, or HUD glasses. This integration can provide the user with vital information, including how many rounds of ammunition are left, such as based on tracking discharges over time and comparing to known characteristics of a weapon, such as the size of a magazine.

In embodiments, the firearm usage monitoring system 2800 includes predictive maintenance, such as determined by the number of shots taken. The system can alert when components need to be maintained or replaced.

In embodiments, the firearm usage monitoring system 2800 allows the number of shots fired to influence the resale value of the firearm.

In embodiments, the firearm usage monitoring system 2800 includes predictive maintenance based on recoil parameters (e.g., showing a degradation of performance as recoil patterns shift over time).

In embodiments, the firearm usage monitoring system 2800 includes a predictive resupply module 3094 based on the number of shots taken. In embodiments, the firearm usage monitoring system 2800 indicates when ammunition needs to be re-supplied.

In embodiments, the firearm usage monitoring system 2800 accounts for an inventory of rounds used with the predictive resupply module 3094 that tracks the amount of ammunition used and alerts when the inventory and shots fired do not match indicating a loss of ammunition.

Methods and systems are provided for the installation of grips. The fireguards can be removed to install the tracking system on to the rails. Firearm grips have many ornamental features separate and distinct from their many functional features.

In embodiments, the firearm usage tracking system integrates an IMU into a smart weapon (e.g., one with user authentication, such as based on a password or other code, or a biometric authentication system).

In embodiments, the firearm usage monitoring system 2800 can include a grip-located IMU for a connected firearms platform.

In embodiments, the firearm usage monitoring system 2800 can integrate with artificial intelligence (AI) and Machine Learning. For example, AI can provide predictive ammunition re-supply, such as measuring fire rates and accounting for the delivery time of new ammunition.

In embodiments, the firearm usage monitoring system 2800 can integrate with virtual reality (VR) or augmented reality (AR) using, for example, a Microsoft® HoloLens® for training purposes. A virtual command center fora battlefield training session can be created.

In embodiments, the firearm usage monitoring system 2800 can provide VR and AR grip installation. VR video can be used to identify the platform and provide instruction on the removal and installation of grips and or other firearm parts.

In embodiments, the firearm usage monitoring system 2800 can supply data to an AR/VR system 1098 that included VR and AR headsets. This may allow users to monitor inventory, rounds left in the magazine, and other relevant data including a map of the environment and surrounding units and objective markers.

In embodiments, the firearm usage monitoring system 2800 can have customizable grips provided through 3D printing or other manufacturing processes. Each individual can customize a style, color, texture, portions of shapes, concavity and convexity to better fit in the hand, changing knurled surfaces, combinations of textures and colors and purposely different designs and configurations, etc. on one side the grip relative to the other or make them mirror images of each other.

In embodiments, the methods and systems disclosed herein provide benefits to a wide number of users, including without limitation private and commercial gun users. One such set of users comprises of managers of first responder and law enforcement personnel, such as police chiefs and elected officials that manage officers and dispatchers.

A firearm which implements or otherwise integrates one or more of the methods and systems disclosed herein (e.g., one or more of the firearm usage monitoring system 2800, the firearm tracking system 2882, the machine learning system 3072, or another system) includes one or more structures for performing or facilitating operations typical of a firearm, for example, for storing ammunition, firing one or more projectiles from the ammunition, controlling the storage and firing of ammunition, and more. In embodiments, a firearm which implements or otherwise integrates one or more of the methods and systems disclosed herein can include an action structure, a stock structure, and a barrel structure. In embodiments, a firearm which implements or otherwise integrates one or more of the methods and systems disclosed herein can include one or more rails. A rail may, for example, be located on one or more of, or proximate to one or more of, the action structure, the stock structure, or the barrel structure.

FIGS. 20, 21 and 22 show a first example of a firearm 2020 which implements or otherwise integrates one or more of the methods and systems disclosed herein (e.g., one or more of the firearm usage monitoring system 2800, the firearm tracking system 2882, the machine learning system 3072, or another system). However, the methods and systems disclosed herein may be implemented or otherwise integrated within other types of firearms or other firearm form factors.

In embodiments, a firearm which implements or otherwise integrates one or more of the systems disclosed herein (e.g., the firearm 2020, the firearm 3100, or another firearm) can include structures other than an action structure, a stock structure, a barrel structure, and/or one or more rails. For example, in embodiments, such a firearm can include a cylinder structure including multiple chambers for storing a projectile to be fired. For example, the firearm may be a revolver or another firearm with a structure for rotating multiple chambers into alignment with the bore of the barrel structure. In another example, in embodiments, such a firearm may omit the stock structure. For example, the firearm may be a pistol or other handgun in which components such as the grip and/or trigger are coupled to the rest of the firearm by a structure other than a stock structure. In another example, in embodiments, such a firearm may include a stock structure that omits the butt. For example, the firearm may be a pistol or other handgun which includes a stock structure that structurally supports the action structure and/or the barrel structure, but in which contact with the user is intended to be limited to the grip. It is to be understood that other firearm embodiments as are currently known or which are later developed may be used to implement or otherwise integrate one or more of the methods and systems disclosed herein.

In embodiments, the firearm 104 is a smart weapon configured to prevent discharge if predetermined criteria are not met. For example, the firearm 104 may be associated with a personal device, such as a mobile device, such that the firearm 104 will not discharge unless the mobile device is within a predetermined distance of the firearm. Beneficially, such coupling is also beneficial because the mobile device may be sent an alert if the firearm 104 is moved or otherwise altered while the mobile device is more than a predetermined distance away. Beneficially, the firearm usage monitoring system or a connected system may be used to send a temporary deactivation message to the firearm 104 (e.g., law enforcement deactivating the firearm of an active shooter) to prevent criminal usage of the firearm. Further, the firearm 104 may be geofenced out of areas where legal firearm 104 usage is unlikely or poses a danger to the user or others (e.g., public areas, crowded events, etc.).

The firearm may further include indicators on the weapon, such as a plurality of LEDs on the grip, that provide information to a user of the firearm 104, such as an operating condition, malfunction condition, maintenance condition, etc.

Components used by one or more of the methods and systems disclosed herein may be located or otherwise positioned with respect to certain structures and/or certain components of structures of a firearm (e.g., the firearm 2020, the firearm 3100, or another firearm). For example, an IMU used by one or more of the methods and systems disclosed herein may be coupled at one or more locations or positions of a firearm. In embodiments, the IMU may be coupled to or included in the charging handle. In embodiments, the IMU may be coupled to the forward assist component. In embodiments, the IMU may be coupled to the gas operating system. In embodiments, the IMU may be coupled to or included in the hammer. In embodiments, the IMU may be coupled to or included in a portion of the action structure other than as described above. In embodiments, the IMU may be coupled to or included in the butt. In embodiments, the IMU may be coupled to or included in the grip of the butt. In embodiments, the IMU may be coupled to or included in the comb of the butt. In embodiments, the IMU may be coupled to or included in the hook coupled to the butt. In embodiments, the IMU may be coupled to or included in the fore-end. In embodiments, the IMU may be coupled to or included in a handguard of the fore-end. In embodiments, the IMU may be coupled to or included in the trigger unit. In embodiments, the IMU may be coupled to or included in the magazine well. In embodiments, the IMU may be coupled to or included in the magazine received in the magazine well. In embodiments, the IMU may be coupled to or included in a portion of the stock structure other than as described above. In embodiments, the IMU may be coupled to the external surface of the chamber. In embodiments, the IMU may be coupled to the chamber at a location or position other than the external surface. In embodiments, the IMU may be coupled to an exterior surface of the bore. In embodiments, the IMU may be coupled to the bore at a location or position other than the external surface. In embodiments, the IMU may be coupled to an external surface of the muzzle. In embodiments, the IMU may be coupled to or included in an accessory device coupled to the muzzle, for example, in which the muzzle includes a coupling element (e.g., a threaded or other engagement) for coupling the accessory device to the muzzle. In embodiments, the accessory device may be coupled to a portion of an external surface of the barrel structure other than an external surface of the muzzle. In embodiments, the IMU may be coupled to or included in the muzzle at a location or position other than the external surface or the coupling element to which an accessory device may be coupled. In embodiments, the IMU may be coupled to or included in a portion of the barrel structure other than as described above. In embodiments, the IMU may be coupled to or included in a scope coupled to a rail of the firearm. In embodiments, the IMU may be coupled to or included in a sight coupled to the rail. In embodiments, the IMU may be coupled to or included in a tactical light coupled to the rail. In embodiments, the IMU may be coupled to or included in a vertical forward grip coupled to the rail. In embodiments, the IMU may be coupled to or included in a portion of a rail or an accessory coupled to a rail other than as described above. It is to be understood that examples particularly referring to the IMU do not limit the possible embodiments of other components used by one or more of the methods and systems disclosed herein being coupled at one or more locations or positions of a firearm.

In embodiments, components used by one or more of the methods and systems disclosed herein which may be located within or otherwise positioned with respect to the structures described above may, for example, include an IMU. In embodiments, the IMU may be coupled to or included in outerwear. In embodiments, the IMU may be coupled to or included in a helmet. In embodiments, the IMU may be coupled to or included in an earpiece. In embodiments, the IMU may be coupled to or included in glasses. In embodiments, the IMU may be coupled to or included in one or more wristbands. In embodiments, the IMU may be coupled to or included in other wearable items. While examples of particular structures of a firearm and particular components of structures of a firearm are disclosed herein, such disclosure is not limiting as to the possible structures of components of structures of a firearm or as to the possible locations or positionings of components used by the methods and systems disclosed herein with respect to those structures or those components of structures. Accordingly, it is to be understood that components used by one or more of the methods and systems disclosed herein may be located or positioned in other locations or positions in or about a firearm, regardless of the particular structures disclosed herein by example.

Detailed embodiments of the present disclosure are disclosed herein; however, it is to be understood that the disclosed embodiments are merely exemplary of the present disclosure, which may be embodied in various forms. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present disclosure in virtually any appropriately detailed structure.

While only a few embodiments of the present disclosure have been shown and described, it will be obvious to those skilled in the art that many changes and modifications may be made thereunto without departing from the spirit and scope of the present disclosure as described in the following claims. All patent applications and patents, both foreign and domestic, and all other publications referenced herein are incorporated herein in their entireties to the full extent permitted by law.

The methods and systems described herein may be deployed in part or in whole through a machine that executes computer software, program codes, and/or instructions on a processor. The present disclosure may be implemented as a method on the machine, as a system or apparatus as part of or in relation to the machine, or as a computer program product embodied in a computer readable medium executing on one or more of the machines. In embodiments, the processor may be part of a server, cloud server, client, network infrastructure, mobile computing platform, stationary computing platform, or other computing platforms. A processor may be any kind of computational or processing device capable of executing program instructions, codes, binary instructions, and the like. The processor may be or may include a signal processor, digital processor, embedded processor, microprocessor or any variant such as a co-processor (math co-processor, graphic co-processor, communication co-processor and the like) and the like that may directly or indirectly facilitate execution of program code or program instructions stored thereon. In addition, the processor may enable execution of multiple programs, threads, and codes. The threads may be executed simultaneously to enhance the performance of the processor and to facilitate simultaneous operations of the application. By way of implementation, methods, program codes, program instructions and the like described herein may be implemented in one or more threads. The thread may spawn other threads that may have assigned priorities associated with them; the processor may execute these threads based on priority or any other order based on instructions provided in the program code. The processor, or any machine utilizing one, may include non-transitory memory that stores methods, codes, instructions and programs as described herein and elsewhere. The processor may access a non-transitory storage medium through an interface that may store methods, codes, and instructions as described herein and elsewhere. The storage medium associated with the processor for storing methods, programs, codes, program instructions or other type of instructions capable of being executed by the computing or processing device may include but may not be limited to one or more of a CD-ROM, DVD, memory, hard disk, flash drive, RAM, ROM, cache, and the like.

A processor may include one or more cores that may enhance speed and performance of a multiprocessor. In embodiments, the process may be a dual core processor, quad core processors, other chip-level multiprocessor and the like that combine two or more independent cores (called a die).

The methods and systems described herein may be deployed in part or in whole through a machine that executes computer software on a server, client, firewall, gateway, hub, router, or other such computer and/or networking hardware. The software program may be associated with a server that may include a file server, print server, domain server, internet server, intranet server, cloud server, and other variants such as secondary server, host server, distributed server, and the like. The server may include one or more of memories, processors, computer readable media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other servers, clients, machines, and devices through a wired or a wireless medium, and the like. The methods, programs, or codes as described herein and elsewhere may be executed by the server. In addition, other devices required for the execution of methods as described in this application may be considered as a part of the infrastructure associated with the server.

The server may provide an interface to other devices including, without limitation, clients, other servers, printers, database servers, print servers, file servers, communication servers, distributed servers, social networks, and the like. Additionally, this coupling and/or connection may facilitate remote execution of program across the network. The networking of some or all of these devices may facilitate parallel processing of a program or method at one or more locations without deviating from the scope of the present disclosure. In addition, any of the devices attached to the server through an interface may include at least one storage medium capable of storing methods, programs, code and/or instructions. A central repository may provide program instructions to be executed on different devices. In this implementation, the remote repository may act as a storage medium for program code, instructions, and programs.

The software program may be associated with a client that may include a file client, print client, domain client, internet client, intranet client and other variants such as secondary client, host client, distributed client, and the like. The client may include one or more of memories, processors, computer readable media, storage media, ports (physical and virtual), communication devices, and interfaces capable of accessing other clients, servers, machines, and devices through a wired or a wireless medium, and the like. The methods, programs, or codes as described herein and elsewhere may be executed by the client. In addition, other devices required for execution of methods as described in this application may be considered as a part of the infrastructure associated with the client.

The client may provide an interface to other devices including, without limitation, servers, other clients, printers, database servers, print servers, file servers, communication servers, distributed servers, and the like. Additionally, this coupling and/or connection may facilitate remote execution of program across the network. The networking of some or all of these devices may facilitate parallel processing of a program or method at one or more locations without deviating from the scope of the present disclosure. In addition, any of the devices attached to the client through an interface may include at least one storage medium capable of storing methods, programs, applications, code and/or instructions. A central repository may provide program instructions to be executed on different devices. In this implementation, the remote repository may act as a storage medium for program code, instructions, and programs.

The methods and systems described herein may be deployed in part or in whole through network infrastructures. The network infrastructure may include elements such as computing devices, servers, routers, hubs, firewalls, clients, personal computers, communication devices, routing devices and other active and passive devices, modules and/or components as known in the art. The computing and/or non-computing device(s) associated with the network infrastructure may include, apart from other components, a storage medium such as flash memory, buffer, stack, RAM, ROM, and the like. The processes, methods, program codes, instructions described herein and elsewhere may be executed by one or more of the network infrastructural elements. The methods and systems described herein may be adapted for use with any kind of private, community, or hybrid cloud computing network or cloud computing environment, including those which involve features of SaaS products, PaaS products, and/or infrastructure as a service (IaaS) products.

The methods, program codes, and instructions described herein and elsewhere may be implemented on a cellular network having multiple cells. The cellular network may either be FDMA network or CDMA network. The cellular network may include mobile devices, cell sites, base stations, repeaters, antennas, towers, and the like. The cell network may be a GSM, GPRS, 3G, 4G, 5G, EVDO, mesh, or other networks types.

The methods, program codes, and instructions described herein and elsewhere may be implemented on or through mobile devices. The mobile devices may include navigation devices, cell phones, mobile phones, PDAs, laptops, palmtops, netbooks, pagers, electronic book readers, music players and the like. These devices may include, apart from other components, a storage medium such as a flash memory, buffer, RAM, ROM and one or more computing devices. The computing devices associated with mobile devices may be enabled to execute program codes, methods, and instructions stored thereon. Alternatively, the mobile devices may be configured to execute instructions in collaboration with other devices. The mobile devices may communicate with base stations interfaced with servers and configured to execute program codes. The mobile devices may communicate on a peer-to-peer network, mesh network, or other communications network. The program code may be stored on the storage medium associated with the server and executed by a computing device embedded within the server. The base station may include a computing device and a storage medium. The storage device may store program codes and instructions executed by the computing devices associated with the base station.

The computer software, program codes, and/or instructions may be stored and/or accessed on machine readable media that may include: computer components, devices, and recording media that retain digital data used for computing for some interval of time; semiconductor storage known as RAM; mass storage typically for more permanent storage, such as optical discs, forms of magnetic storage like hard disks, tapes, drums, cards and other types; processor registers, cache memory, volatile memory, non-volatile memory; optical storage such as CD, DVD; removable media such as flash memory (e.g. USB sticks or keys), floppy disks, magnetic tape, paper tape, punch cards, standalone RAM disks, Zip drives, removable mass storage, off-line, and the like; other computer memory such as dynamic memory, static memory, read/write storage, mutable storage, read only, random access, sequential access, location addressable, file addressable, content addressable, network attached storage, storage area network, bar codes, magnetic ink, and the like.

The methods and systems described herein may transform physical and/or intangible items from one state to another. The methods and systems described herein may also transform data representing physical and/or intangible items from one state to another.

The elements described and depicted herein, including in flow charts and block diagrams throughout the figures, imply logical boundaries between the elements. However, according to software or hardware engineering practices, the depicted elements and the functions thereof may be implemented on machines through computer executable media having a processor capable of executing program instructions stored thereon as a monolithic software structure, as standalone software modules, or as modules that employ external routines, code, services, and so forth, or any combination of these, and all such implementations may be within the scope of the present disclosure. Examples of such machines may include, but may not be limited to, PDAs, laptops, personal computers, mobile phones, other handheld computing devices, medical equipment, wired or wireless communication devices, transducers, chips, calculators, satellites, tablet PCs, electronic books, gadgets, electronic devices, devices having artificial intelligence, computing devices, networking equipment, servers, routers, and the like. Furthermore, the elements depicted in the flow chart and block diagrams or any other logical component may be implemented on a machine capable of executing program instructions. Thus, while the foregoing drawings and descriptions set forth functional aspects of the disclosed systems, no particular arrangement of software for implementing these functional aspects should be inferred from these descriptions unless explicitly stated or otherwise clear from the context. Similarly, it will be appreciated that the various steps identified and described above may be varied, and that the order of steps may be adapted to particular applications of the techniques disclosed herein. All such variations and modifications are intended to fall within the scope of this disclosure. As such, the depiction and/or description of an order for various steps should not be understood to require a particular order of execution for those steps, unless required by a particular application, or explicitly stated or otherwise clear from the context.

The methods and/or processes described above, and steps associated therewith, may be realized in hardware, software or any combination of hardware and software suitable for a particular application. The hardware may include a general-purpose computer and/or dedicated computing device or specific computing device or particular aspect or component of a specific computing device. The processes may be realized in one or more microprocessors, microcontrollers, embedded microcontrollers, programmable digital signal processors or other programmable devices, along with internal and/or external memory. The processes may also, or instead, be embodied in an application specific integrated circuit, a programmable gate array, programmable array logic, or any other device or combination of devices that may be configured to process electronic signals. It will further be appreciated that one or more of the processes may be realized as a computer executable code capable of being executed on a machine-readable medium.

The computer executable code may be created using a structured programming language such as C, an object oriented programming language such as C++, or any other high-level or low-level programming language (including assembly languages, hardware description languages, and database programming languages and technologies) that may be stored, compiled or interpreted to run on one of the above devices, as well as heterogeneous combinations of processors, processor architectures, or combinations of different hardware and software, or any other machine capable of executing program instructions.

Thus, in one aspect, methods described above and combinations thereof may be embodied in computer executable code that, when executing on one or more computing devices, performs the steps thereof. In another aspect, the methods may be embodied in systems that perform the steps thereof and may be distributed across devices in a number of ways, or all of the functionality may be integrated into a dedicated, standalone device or other hardware. In another aspect, the means for performing the steps associated with the processes described above may include any of the hardware and/or software described above. All such permutations and combinations are intended to fall within the scope of the present disclosure.

While the present disclosure has been disclosed in connection with the preferred embodiments shown and described in detail, various modifications and improvements thereon will become readily apparent to those skilled in the art. Accordingly, the spirit and scope of the present disclosure is not to be limited by the foregoing examples, but is to be understood in the broadest sense allowable by law.

The use of the terms “a,” “an,” “the,” and/or similar referents in the context of describing the present disclosure (especially in the context of the following claims) is to be construed to cover both the singular and the plural unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and/or “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to”) unless otherwise noted. Recitations of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate the present disclosure and does not pose a limitation on the scope of the present disclosure unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the present disclosure.

While the foregoing written description enables one skilled in the art to make and use what is considered presently to be the best mode thereof, those skill in the art will understand and appreciate the existence of variations, combinations, and equivalents of the specific embodiment, method, and examples herein. The present disclosure should therefore not be limited by the above-described embodiment, method, and examples, but by all embodiments and methods within the scope and spirit of the present disclosure.

Any element in a claim that does not explicitly state “means for” performing a specified function, or “step for” performing a specified function, is not to be interpreted as a “means” or “step” clause as specified in 35 U.S.C. § 112 (f). In particular, any use of “step of in the claims is not intended to invoke the provision of 35 U.S.C. § 112 (f).

Persons skilled in the art may appreciate that numerous design configurations may be possible to enjoy the functional benefits of the inventive systems. Thus, given the wide variety of configurations and arrangements of embodiments of the present disclosure the scope of the inventions are reflected by the breadth of the claims below rather than narrowed by the embodiments described above. 

What is claimed is:
 1. A system for providing firearm event monitoring, the system comprising: a motion sensor mounted on a firearm; a server device running application software that receives signals from the motion sensor, wherein the application software calculates an ammunition inventory based at least in part on the round count; a machine learning module configured to create and run an identification algorithm, using data derived from the received signals, to determine a motion of the firearm indicative of an event; and a controller coupled to the server device, the controller running application software configured to maintain a round count based at least in part on the indicated event.
 2. The system of claim 1, wherein the event is a discharge event.
 3. The system of claim 1, wherein the event is at least a portion of one of a weapon holstering event, a weapon unholstering event, and a weapon draw event.
 4. The system of claim 1, wherein the event is at least a portion of one of a weapon slide action event, a weapon bolt action event, and a weapon slide release event.
 5. The system of claim 1, wherein the event is a weapon aiming event.
 6. The system of claim 1, wherein the event is a weapon safety-on event or a weapon safety-off event.
 7. The system of claim 1, wherein the event is at least a portion of one of a weapon jam event, a weapon malfunction event, and a weapon misfire event.
 8. The system of claim 1, wherein the motion sensor is configured to detect a discharge of the firearm, wherein the application software uses sensor information indicative of the discharge of the firearm to detect a threat.
 9. The system of claim 1, wherein data from the motion sensor indicative of at least one of a movement of the firearm is time series data relating to a plurality of weapon discharges.
 10. The system of claim 1, wherein the application software creates a user profile of the user of the firearm based at least in part on the round count.
 11. The system of claim 1, wherein the firearm is a plurality of firearms.
 12. The system of claim 1, wherein the application software displays the round count on a wearable device.
 13. The system of claim 12, wherein the application software generates an alert from the wearable device based at least in part on the round count exceeding a specific amount.
 14. A system for creating a firearm discharge event profile, the system comprising: a first plurality of motion-detecting sensors mounted on a first firearm type and a second plurality of motion-detecting sensors mounted on a second firearm type, wherein the first and second pluralities of motion-detecting sensors include the same types of motion-detecting sensors; a server device running application software that receives signals from the pluralities of motion-detecting sensors and data corresponding to verified instances of discharge events from the first and second firearm types; a machine learning module configured to create and run identification algorithms, using data derived from the received signals from the pluralities of motion-detecting sensors, to determine a motion of the first and second firearm types indicative of a discharge event; and a controller coupled to the server device, the controller running application software configured to create and maintain a first round count profile of the first firearm type and a second round count profile of the second firearm type based at least in part on the indicated discharge events of the firearm types, wherein the application software is further configured to identify and distinguish the firearm types from one another based at least in part on the created round count profiles.
 15. The system of claim 14, wherein a graphical representation of firearm movements is created based at least in part on the round count profiles.
 16. The system of claim 15, wherein the graphical representation includes one or more of a three-dimensional weapon orientation view, or a user body camera feed view.
 17. The system of claim 15, wherein the graphical representation is viewed within a playback depiction in the form of a video.
 18. The system of claim 17, wherein the playback depiction is a combination of at least two graphical representations of a plurality of time points from at least two separate firearm types.
 19. The system of claim 14, wherein a firearm profile score is created based at least in part on the round count profile.
 20. A system for providing firearm event monitoring, the system comprising: a motion sensor mounted on a firearm; a server device running application software that receives signals from the motion sensor, wherein the application software creates a user profile of the user of the firearm based at least in part on the round count; a machine learning module configured to create and run an identification algorithm, using data derived from the received signals, to determine a motion of the firearm indicative of an event; and a controller coupled to the server device, the controller running application software configured to maintain a round count based at least in part on the indicated event.
 21. The system of claim 20, wherein the event is a discharge event.
 22. The system of claim 20, wherein the event is at least a portion of one of a weapon holstering event, a weapon unholstering event, and a weapon draw event.
 23. The system of claim 20, wherein the event is at least a portion of one of a weapon slide action event, a weapon bolt action event, and a weapon slide release event.
 24. The system of claim 20, wherein the event is a weapon aiming event.
 25. The system of claim 20, wherein the event is a weapon safety-on event or a weapon safety-off event.
 26. A system for providing firearm event monitoring, the system comprising: a motion sensor mounted on a firearm; a server device running application software that receives signals from the motion sensor; a machine learning module configured to create and run an identification algorithm, using data derived from the received signals, to determine a motion of the firearm indicative of an event; and a controller coupled to the server device, the controller running application software configured to maintain a round count based at least in part on the indicated event, wherein the event is at least a portion of one of a weapon jam event, a weapon malfunction event, and a weapon misfire event.
 27. A system for providing firearm event monitoring, the system comprising: a motion sensor mounted on a firearm; a server device running application software that receives signals from the motion sensor; a machine learning module configured to create and run an identification algorithm, using data derived from the received signals, to determine a motion of the firearm indicative of an event; and a controller coupled to the server device, the controller running application software configured to maintain a round count based at least in part on the indicated event; wherein the application software displays round count on a wearable device.
 28. The system of claim 27, wherein the application software generates an alert from the wearable device based at least in part on the round count exceeding a specific amount. 